Quando uma peça de hardware é conectada, a estrutura udev decide o que fazer com ela. Uma ação típica é criar um nó de dispositivo em /dev
, mas você pode executar qualquer comando de shell.
Primeiro, você precisa descobrir como identificar seu dispositivo. Conecte o teclado e execute udevadm info -a -n /dev/input/event9
, onde o último argumento é o caminho para o arquivo do dispositivo em /dev/
correspondente ao seu dispositivo. Você pode omitir o prefixo /dev/
. Você pode usar um syspath (um caminho em /sys
) em vez de um nome de nó de dispositivo substituindo -n …
por -p class/input/event9
. Em todos os casos, substitua input/event9
pelo caminho apropriado para o seu dispositivo. Isso imprime várias características do seu dispositivo. Colete uma ou mais linhas do formulário SETTING=="VALUE"
, o suficiente para identificar seu dispositivo de maneira exclusiva.
Crie um arquivo em /etc/udev/rules.d
chamado vemv-keyboard.rules
ou algo assim. Coloque uma linha neste arquivo com as configurações a serem correspondidas e uma ação para executar. Tome cuidado para usar os operadores apropriados: é ==
para as propriedades serem correspondidas, =
para as propriedades a serem definidas e +=
para especificar ações adicionais. Algo como:
# Run a program when my wireless keyboard is connected
SUBSYSTEMS=="input", ATTRS{vendor}=="Yoyodene", ATTRS{model}=="Bluetooth keyboard 9000", RUN+="/path/to/script $root/$name"
O programa será executado na próxima vez que você conectar o dispositivo (adicionar o arquivo não terá efeito em dispositivos já conectados). Você verifica que sua regra teria o efeito desejado executando udevadm test class/input/event9
(onde o argumento é o syspath como acima). Se você quiser aplicar a regra manualmente, execute udevadm trigger --sysname=class/input/event9
.