어떤 udev hwdb 일치가 내 키를 엉망으로 만들고 있는지 어떻게 알 수 있나요?

어떤 udev hwdb 일치가 내 키를 엉망으로 만들고 있는지 어떻게 알 수 있나요?

Logitech Unifying Keyboard K270을 구입하고 Ubuntu 14.04를 실행하고 있습니다(예, 업데이트 중입니다). 어떤 이유로 "a"와 "b" 키가 바뀌는 것을 제외하면 모든 것이 잘 작동합니다.

마침내 udev가 문제를 일으키고 있다는 것을 알아냈지만 취소할 수는 없었습니다.

> 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

나는 그것을 무시하려고 노력한다.

> 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

소용이 없습니다.

이를 재정의하기 위해 올바른 일치 항목을 어떻게 작성합니까? 올바른 일치 항목을 작성하는 방법에 대한 문서를 찾을 수 없으며 어떤 규칙이 "KEYBOARD_KEY" 별칭을 삽입하는지 찾을 수 없습니다.

답변1

쯧쯧! 나는 블루투스 키보드를 가지고 있으며 이전에 udev를 조작하여 작동시키려고 시도했지만 포기하고 구성만 남겨 두었습니다.

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

문서에서

udevadm hwdb [옵션] /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.

그러나 올바른 일치 항목을 작성하는 방법에 대한 문서가 있는 경우 해당 문서를 알려주시기 바랍니다.

건배

관련 정보