Como descubro qual correspondência do udev hwdb está mexendo com as minhas chaves?

1

Comprei um teclado K270 da Logitech Unifying e estou executando o Ubuntu 14.04 (sim, sim, estou trabalhando para atualizá-lo). Tudo funciona, exceto as teclas 'a' e 'b', que são revertidas por algum motivo.

Eu finalmente descobri que é o udev que está mexendo com isso, mas não posso desfazer isso.

> udevadm info /dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-kbd
P: /devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.2/0003:046D:C52B.0015/input/input34/event18
N: input/event18
S: input/by-id/usb-Logitech_USB_Receiver-if02-event-kbd
S: input/by-path/pci-0000:00:14.0-usb-0:2:1.2-event-kbd
E: DEVLINKS=/dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-kbd /dev/input/by-path/pci-0000:00:14.0-usb-0:2:1.2-event-kbd
E: DEVNAME=/dev/input/event18
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2:1.2/0003:046D:C52B.0015/input/input34/event18
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_MODEL=USB_Receiver
E: ID_MODEL_ENC=USB\x20Receiver
E: ID_MODEL_ID=c52b
E: ID_PATH=pci-0000:00:14.0-usb-0:2:1.2
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_2
E: ID_REVISION=1203
E: ID_SERIAL=Logitech_USB_Receiver
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030102:030000:
E: ID_USB_INTERFACE_NUM=02
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: KEYBOARD_KEY_70004=b  <--------
E: KEYBOARD_KEY_70005=a  <--------
E: MAJOR=13
E: MINOR=82
E: SUBSYSTEM=input
E: USEC_INITIALIZED=397136693

Eu tentei sobrescrever

> cat /lib/udev/hwdb.d/70-keyboad.hwdb
# XXXX is the 4-digit hex uppercase vendor, and YYYY the 4-digit hex uppercase product.
# keyboard:usb:vXXXXpYYYY*
keyboard:usb:v046D*
  # Logitech keyboard is overriding the A and B keys for some reason
  KEYBOARD_KEY_70004=a
  KEYBOARD_KEY_70005=b

Sem sucesso.

Como escrevo uma correspondência adequada para substituí-la? Não consigo encontrar nenhuma documentação sobre como escrever uma correspondência adequada, nem posso descobrir qual regra está inserindo esse alias "KEYBOARD_KEY": \

    
por UncleJack 31.07.2017 / 23:35

1 resposta

0

Duuuuuhhh! Eu tinha um teclado bluetooth e tinha mexido com o udev antes, tentando fazer com que ele funcionasse, mas desisti e deixei para trás a configuração.

> grep  KEYBOARD_KEY_70004 /etc/udev/hwdb.d/* /lib/udev/hwdb.d/*
/etc/udev/hwdb.d/90-bluetooth-keyboard.hwdb:  KEYBOARD_KEY_70004=b

Do documento

udevadm hwdb [options] Maintain the hardware database index in /lib/udev/hwdb.bin.

  --update
      Compile the hardware database information located in **/lib/udev/hwdb.d/**, **/etc/udev/hwdb.d/** and store it in /lib/udev/hwdb.bin. This should be done after any update to the source files; it will not be called automatically.
      The running udev daemon will detect a new database on its own and does not need to be notified about it.

No entanto, se alguém tiver documentação sobre como escrever uma correspondência adequada, por favor, me aponte para isso.

Felicidades

    
por 31.07.2017 / 23:55