Você pode tentar este comando para determinar qual seria o ID do udev para o seu teclado USB. Execute isso e, em seguida, conecte o teclado em:
$ udevadm monitor --udev --subsystem-match=usb
Exemplo - monitor
Eu tenho um antigo teclado USB da Sun Microsystems. Quando eu desconecto e conecto de volta, recebo as seguintes mensagens do udev:
$ udevadm monitor --udev --subsystem-match=usb
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
UDEV [1375655040.466080] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV [1375655040.557791] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
UDEV [1375655044.586242] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
UDEV [1375655044.589087] add /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV [1375655049.880514] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0 (usb)
UDEV [1375655049.905175] remove /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2 (usb)
Assim, o ID do udev que você poderia colocar em sua regra usaria essa parte da saída acima, /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
.
Exemplo - exportar
Você também pode exportar todo o banco de dados do udev e varrê-lo manualmente:
$ udevadm info --export-db
...
P: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
N: bus/usb/002/009
S: char/189:136
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
E: SUBSYSTEM=usb
E: DEVNAME=bus/usb/002/009
E: ID_VENDOR=0430
E: ID_VENDOR_ENC=0430
E: ID_VENDOR_ID=0430
E: ID_MODEL=0005
E: ID_MODEL_ENC=0005
E: ID_MODEL_ID=0005
E: ID_REVISION=0102
E: ID_SERIAL=0430_0005
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030101:
E: MAJOR=189
E: MINOR=136
E: DEVTYPE=usb_device
E: DRIVER=usb
E: DEVICE=/proc/bus/usb/002/009
E: PRODUCT=430/5/102
E: TYPE=0/0/0
E: BUSNUM=002
E: DEVNUM=009
E: DEVLINKS=/dev/char/189:136
...
E use outras características exclusivas da saída acima em sua regra do udev também.
Referências