Para configurar o teclado ergonômico da Microsoft 4000 , precisamos criar um arquivo de configuração que contenha a declaração do teclado e os registros para mapear as chaves.
Para isso, existem três tipos de informações que precisamos determinar:
- Tipo de teclado
- A chave
scancode
, que é a chave real no teclado
- A chave
name
para atribuir a funcionalidade desejada à chave selecionada
Primeiro, encontre o tipo de teclado:
No terminal, execute o seguinte comando:
lsusb
a saída determina o tipo de teclado:
...
Bus 004 Device 022: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
...
Aparece após ID
. Nesse caso, é 045e:00db
Segundo, localize o scancode e o nome da chave.
Para determiná-los, usamos o programa evtest
, que registra as informações do evento de um dispositivo específico no terminal:
evtest
Se você não tiver o programa, instale-o executando o seguinte comando:
sudo apt-get install evtest
Ao executar o programa evtest
, obtemos a seguinte saída:
No device specified, trying to scan all of /dev/input/event* Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: PixArt USB Optical Mouse
/dev/input/event3: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event4: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event5: HDA Intel Front Headphone
/dev/input/event6: HDA Intel Line Out
/dev/input/event7: HDA Intel Line
/dev/input/event8: HDA Intel Rear Mic
/dev/input/event9: HDA Intel Front Mic
/dev/input/event10: HDA ATI HDMI HDMI/DP,pcm=3
Select the device event number [0-10]:
A saída é praticamente autoexplicativa, insira o número apropriado para o teclado, que aqui é o número 3
, em seguida, pressione enter:
Ao fazer isso, você terá muitas informações no terminal e terminará nas seguintes linhas:
...
Testing ... (interrupt to exit)
Event: time 1472203902.240594, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1472203902.240594, -------------- SYN_REPORT ------------
Event: time 1472203902.281456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70058
Event: time 1472203902.281456, type 1 (EV_KEY), code 96 (KEY_KPENTER), value 0
Event: time 1472203902.281456, -------------- SYN_REPORT ------------
Agora, com todas as teclas pressionadas no teclado, as informações principais são copiadas. Por exemplo, a tecla barra ao lado do deslocamento para a direita mostra:
Event: time 1472205062.294078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70038
Event: time 1472205062.294078, type 1 (EV_KEY), code 12 (KEY_SLASH), value 0
Event: time 1472205062.294078, -------------- SYN_REPORT ------------
A primeira linha do log contém as informações sobre a chave real no teclado, como scancode
, que vem depois do valor. Neste caso, é 70038
A segunda linha contém a funcionalidade atribuída , como o nome da chave. Neste caso, é SLASH . Examine as outras chaves para encontrar seus nomes apropriados.
Então, em poucas palavras:
- Nosso tipo de teclado é: 045e: 00db
- O scancode da tecla Slash é: 70038
- O nome da chave para atribuição é SLASH
Após reunir as informações necessárias, criamos o arquivo de configuração:
sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb
Pressione i
para ativar o modo de inserção e digite o seguinte:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_70038=minus
Salve e saia pressionando escape
, em seguida, digite :wq
e pressione Enter.
Em seguida, execute os dois comandos a seguir para que a configuração entre em vigor:
sudo udevadm hwdb --update
sudo udevadm control --reload
Finalmente, desligue o teclado e volte a ligá-lo.
Algumas notas sobre o arquivo de configuração:
- O formato do arquivo deve ser exatamente como mostrado, o espaço antes
registros de mapeamento são críticos.
- Em vez de
sudoedit
você pode usar qualquer outro editor de texto, lembre-se de seguir o formato exato do arquivo, conforme explicado acima.
- Existem dois caracteres adicionados ao tipo de teclado:
v
e p
, que representam fornecedor e produto. Eles são importantes também.
- O tipo de teclado é escrito em maiúsculas no arquivo de configuração. Nosso tipo de teclado era 045e: 00db mas na configuração nós inserimos v045Ep00DB *
- O scancode da chave vem logo após
KEYBOARD_KEY_
- O nome da chave aparece em minúsculas no arquivo de configuração
- Você pode personalizar praticamente todas as teclas do teclado seguindo este tutorial.