명령의 키코드를 xinput test-xi2 --root 3
keyyms에 매핑하는 테이블이 있습니까?
xmodmap -pke
ArchWiki에서 찾은 것을 시도했지만 일치하지 않습니다. X는 키보드와 어떻게 상호 작용합니까? X가 키 입력을 처리하는 방법을 설명하는 몇 가지 리소스를 알려주실 수 있나요?
답변1
매우 간단한 개요:
하드웨어에 따라 주요 이벤트는 다양한 커널 계층을 거쳐 "입력" 계층에서 끝납니다. USB 키보드의 경우 레이어는 다음과 같습니다.
"USB events" --> "HID events" --> "Input events".
커널 계층 입력 이벤트는 /dev/input/eventX
특정 장치에 대한 일반적인 심볼릭 링크를 사용하여 사용할 수 있습니다. evtest
살펴보는 데 사용할 수 있습니다 .
X evdev
드라이버는 해당 이벤트를 선택합니다.
X에는 두 가지 서로 다른 매핑 메커니즘이 있습니다. xkbd
하나는 매우 복잡합니다.XKB 구성에 대한 신뢰할 수 없는 가이드) 및 으로 제어할 수 있는 것입니다 xmodmap
.
를 사용하는 경우 xev
로 제어할 수 있는 매핑이 표시되어야 합니다 xmodmap
.
XInput(버전 1과 2 모두)도 나중에 추가되었으며 어느 수준에서 작동하는지 모르겠습니다 xinput test-xi2
. 내 시스템에서는 에 표시된 키 코드와 일치하는 것 같으 xev
므로 귀하의 키 코드가 일치하지 않는 구체적인 예가 도움이 될 것입니다.