Keymappings ainda são feitos com udev
em trusty (e atrevido, eu acho), mas o mecanismo mudou.
Para remapear uma chave, apenas um ioctl (EVIOCSKEYCODE) é necessário, mas nenhum programa simples que exista já existe. - Agora é interno para o udev. Então faça isso:
- diga ao udev os mapeamentos
- crie um arquivo
/etc/udev/hwdb.d/keyboard.hwdb
- escreva somente o identificador do teclado e os mapeamentos que você deseja alterar (o formato é como em
/lib/udev/hwdb.d/60-keyboard.hwdb
, onde também encontrei esses identificadores confusos para o meu teclado); por exemplo:keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* KEYBOARD_KEY_00=msdos KEYBOARD_KEY_09=prog3 KEYBOARD_KEY_0a=dashboard
-
udevadm hwdb --update
- verifique se você vê suas atualizações por meio de
udevadm hwdb --test='keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*'
(mude para o seu ID de teclado) -
udevadm control --reload
é necessário mesmo que a página do manual diga o contrário - eu tentei.
- crie um arquivo
- acionar sua execução (ou simplesmente reinicializar)
- com um
udev monitor --property
em execução, você pode ver o efeito da próxima etapa, a opção--property
revelará os remapings - para o meu teclado, faço um
udevadm trigger --verbose --sysname-match=event6 --action=add
A "ação de adição" é importante, porque os eventos de "alteração" são ignorados nas regras atuais do teclado. - no seu caso, um
--sysname-match=event3
faria isso, mas você pode brincar com isso por meio desses três:-
udevadm trigger --dry-run --verbose
mostra todos os dispositivos - inspire você a criar fantasia com o
udevadm info /sys/devices/platform/thinkpad_acpi/input/input12/event6
ou qualquer dispositivo seu -
udevadm trigger --help
lhe dará dicas de como reduzir a próxima execução de acionamento
-
- com um