Eu tenho o novo teclado e a tecla mudo não está enviando o evento de lançamento. Pelo que eu tenho lido no hwdb, é possível fazer o driver enviar um evento de lançamento sintético e eu tentei fazê-lo.
Aqui estão os meus passos:
Fiz um registro em /lib/udev/hwdb.d/90-custom-keyboard.hwdb
:
evdev:input:b0003v0C45p7903*
KEYBOARD_KEY_c00e2=!mute
Fiz systemd-hwdb update
, reconstruiu o initrd mkinicpio -p linux
.
Rebooted e verificado udevadm info
mostra valores corretos
P: /devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:02.0/0000:0d:00.0/usb5/5-3/5-3:1.1/0003:0C45:7903.0006/input/input26/event25
N: input/event25
S: input/by-id/usb-SONiX_USB_DEVICE-event-if01
S: input/by-path/pci-0000:0d:00.0-usb-0:3:1.1-event
E: DEVLINKS=/dev/input/by-path/pci-0000:0d:00.0-usb-0:3:1.1-event /dev/input/by-id/usb-SONiX_USB_DEVICE-event-if01
E: DEVNAME=/dev/input/event25
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:02.0/0000:0d:00.0/usb5/5-3/5-3:1.1/0003:0C45:7903.0006/input/input26/event25
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_MODEL=USB_DEVICE
E: ID_MODEL_ENC=USB\x20DEVICE
E: ID_MODEL_ID=7903
E: ID_PATH=pci-0000:0d:00.0-usb-0:3:1.1
E: ID_PATH_TAG=pci-0000_0d_00_0-usb-0_3_1_1
E: ID_REVISION=0110
E: ID_SERIAL=SONiX_USB_DEVICE
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030102:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=SONiX
E: ID_VENDOR_ENC=SONiX
E: ID_VENDOR_ID=0c45
E: KEYBOARD_KEY_c00e2=!mute
E: LIBINPUT_DEVICE_GROUP=3/c45/7903:usb-0000:0d:00.0-3
E: MAJOR=13
E: MINOR=89
E: SUBSYSTEM=input
E: TAGS=:power-switch:
E: USEC_INITIALIZED=5143289
Observe o KEYBOARD_KEY_c00e2 - então ele foi carregado.
Testado se funciona com evtest e não: (
Parece que, apesar da configuração adequada, conforme descrito no atributo de liberação forçada do hwdb, não foi preenchido, o que é confirmado por udevadm info -a -p /sys/class/input/event25 | grep -i force.release
- nenhum atributo foi definido.
O que estou fazendo de errado? Como faço para o driver enviar um evento de lançamento sintético logo após a impressão?
Versões: Systemd: 239 Kernel: 4.18.8
Obrigado.