EDIT: Isso NÃO é uma duplicata porque a pergunta vinculada é sobre unidades USB externas , e não teclados . O comando sugerido udevadm info -a -n sdb
não ajuda em nada a encontrar os atributos correspondentes para o teclado .
Depois de passar mais de uma hora sobre isso, tentei o seguinte, que provavelmente não é exato:
SUBSYSTEMS="input", RUN+="/home/jx/Dropbox/scripts/keyboard.sh %p"
SUBSYSTEMS="hid", RUN+="/home/jx/Dropbox/scripts/keyboard.sh %p"
SUBSYSTEMS="usb", RUN+="/home/jx/Dropbox/scripts/keyboard.sh %p"
No entanto, só funcionou quando eu iniciei o computador pela primeira vez. Sempre que eu desconectar o teclado e reconectá-lo mais tarde, o script não é executado automaticamente.
Como posso encontrar os atributos para o teclado e como garantir que o script fique sempre que o teclado estiver conectado, mesmo quando o sistema operacional já estiver em execução?
Estou realizando duas modificações no meu teclado na inicialização:
xset r rate 160 50
setxkbmap -option "ctrl:nocaps"
No entanto, eles parecem estar perdidos sempre que eu desconecto meu teclado USB externo (às vezes eu troco o teclado entre as máquinas), e eu sempre tenho que re-executar os comandos sempre que eu reconectar, o que é bem chato.
Existe uma maneira de permitir que o sistema detecte o evento de conexão do teclado e execute um script personalizado sobre ele?
Ou talvez, alternativamente, encontre uma maneira de manter essas duas configurações permanentes mesmo depois da reinicialização.
Estou no Arch Linux com o systemd.
Tags xkb udev keyboard shell-script