Suporte para linux de teclado Microsoft sculpt

9

Eu tenho um teclado de escultura da Microsoft que tem espaço duplo. Eu quero usá-lo no Linux. Não consigo encontrar documento, hackear etc. Quero remapear um da tecla space para inserir a tecla. Não sei onde posso começar a cavar para resolver problemas.

[Editar 1]

Eu usei o comando "showkeys -s" que gera o valor "0x39 0xb9". Mas ambos os espaços dão a mesma saída. Existe uma possível outra informação que possa ser diferente?

obrigado

http://www.microsoft.com/hardware/en-us/d/sculpt-comfort-keyboard

Erdinç Taşkın
fonte
11
Se você pressionar uma tecla, seu kernel receberá um código de verificação. Não é código ASCII, mas uma coisa altamente específica da arquitetura / hw. É o mesmo em todo lugar. O sistema operacional possui uma tabela que mapeia esses scancodes para códigos ascii. Esta tabela é o que você pode modificar. Edite na sua pergunta, onde você deseja alterar o mapeamento do teclado. Existem boas ferramentas (interface do usuário e linha de comando) para isso e, com essas informações, você pode pesquisar melhor um no Google, se não obtiver uma resposta boa o suficiente.
peterh - Reinstala Monica
Você viu alguma informação de que o teclado deve diferenciar os dois espaços? Os teclados de PC normais têm vários conjuntos de scancode, portanto, é possível que em um dos conjuntos os dois espaços possam produzir dois scancodes diferentes. Veja en.wikipedia.org/wiki/Scancode
pabouk
Oficialmente, pode ser usado um espaço como backspace, mas não há detalhes técnicos.
Erdinç Taşkın
11
Nota: depende do teclado Sculpt. O meu é do tipo borboleta, onde as duas seções da barra de espaço são na verdade a mesma chave. Eles são divididos apenas porque dessa maneira eles podem se mover independentemente, proporcionando uma melhor experiência de digitação. Aqueles lhe dará o mesmo scancode, não importa o que você faz :( E sim, eu perguntei Microsoft este (!)
Maarten Bodewes

Respostas:

10

A folha de dados técnicos do teclado diz o seguinte:

"O lado direito da barra de espaço possui uma funcionalidade típica da barra de espaço; o lado esquerdo da barra de espaço alterna entre a funcionalidade de backspace e a funcionalidade típica da barra de espaço. Para ativar, pressione e mantenha pressionados os dois lados da barra de espaço por 3 segundos."

Isso sugere que é um recurso interno do teclado e não requer um driver. Se você ativar esse recurso, showkeysprovavelmente reportará o scancode para o backspace se você pressionar a barra de espaço esquerda (nesse caso, você ainda está sem sorte). Se, por outro lado, o teclado não acontecer para dar off dois scancodes diferentes para a barra de espaço esquerdo eo retrocesso real, você pode mapear esse código de acesso a um Enter. Os mapeamentos de teclado podem ser manipulados com ferramentas como xkbcomp ou fazer seu próprio mapeamento. Cuidado, porém, que o manuseio de códigos-chave por X é altamente esotérico e a documentação é ... bastante concisa. Um começo é a documentação do xkbcomp.

BTW, observe que os códigos de chave relatados "0x39 0xb9" são para a mesma chave, a última apenas com o bit alto definido para indicar a liberação da chave. 0x39 é 57 decimal, que é mapeado para a tecla Espaço em X para teclados de PC.

JvO
fonte