특정 키보드의 F 키를 어떻게 다시 매핑합니까?

특정 키보드의 F 키를 어떻게 다시 매핑합니까?

실제로 키보드가 아닌 주변 장치가 연결되어 있지만 모든 버튼은 F 키로 처리되며 모두 표준 F 키(showkey[-s] 및 xev 기반)와 동일한 스캔 코드 및 키 코드를 보냅니다. 표준 키에 영향을 주지 않고 주변기기의 키코드를 변경하고 싶었기 때문에 제조업체에 따라 스캔코드를 다시 매핑하기 위해 udev를 선택했습니다.

지금 겪고 있는 문제는 udev를 사용하여 다시 매핑할 키를 얻는 것입니다. 테스트를 위해 /usr/lib/udev/hwdb.d/90-custom-keys.hwdb를 만들었습니다. (테스트 버전은 모든 키보드를 변경하도록 설계되었으므로 작동되면 조정하겠습니다) 다음과 같습니다.

keyboard:usb:v*p*
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*
keyboard:*
 KEYBOARD_KEY_1b=playcd (this should map F1 to keycode 200 like I want)

주변 장치는 USB이고 추가된 부분은 일종의 동작 변경을 얻기 위해 모든 것을 캡처하려고 시도하는데, 이는 이전 부분이 도움이 되지 않은 후에 추가되었습니다.

또한 udev는 ps aux | grep udev.

이 주변 장치에서 전송한 키 코드를 변경할 수 있어야 하며, 이는 다른 응용 프로그램에서 처리되며(특정 키 코드 입력 필요) 여전히 표준 버튼을 유지하고 싶습니다. 이 목표를 어떻게 달성할 수 있나요?

사용 환경:

os: RHEL 7
udev ver: 208
arch: 86_64

답변1

내 문제는 잘못된 스캔 코드를 입력했다는 것입니다. 규칙은 다음과 같습니다.

keyboard_key_1b=playcd

하지만

keyboard_key_7003a=playcd

evtest가 필요합니다(showkey -s에서 제공하는 "scancode"는 원하는 것이 아닙니다).

관련 정보