저는 키보드를 사용하여 특정 키를 다시 매핑하고 매크로 등을 만들었습니다.
나는 키보드(USB를 통해, USB 키보드가 있는 데스크톱 컴퓨터를 의미함)가 scancode
다양한 hwdb 리소스로 구성된 규칙에 따라 키 설명자 또는 키 코드에 매핑되는 키보드 종속 기능을 제공한다는 것을 이해합니다. 그런 다음 이러한 키코드는 운영 체제에 의해 해석됩니다.
evtest
키보드 스캔 코드, 키 코드 및 키 기호가 모두 하나의 깔끔한 작은 출력에 포함되어 있기 때문에 키보드에서 직접 최상의 결과를 얻을 수 있다는 것을 알았습니다 . 더 깔끔하게 만들기 위해 일반적으로 grep
출력을 좀 더 깔끔하게 만듭니다.
sudo evtest | grep -B1 "value 1"
그러나 xmodmap 및 다양한 응용 프로그램에서 사용되는 코드는 출력으로 사용되는 코드입니다.만약에출력)y xev
. grep
에 대한 좋은 정보가 없으며 xev
키보드 이벤트로 필터링합니다.
xev -event keyboard
이 질문에는 다음이 포함됩니다.
MIN_KEYCODE
키보드 이외의 설정이 있습니까8
?- 연결된 질문에서
MIN_KEYCODE
72번째 줄에 하드코딩되어 있는 것을 확인했습니다.https://cgit.freedesktop.org/xorg/driver/xf86-input-evdev/tree/src/evdev.c xev
vs.에 의해 생성된 키코드에 차이가 있는 이유는 무엇입니까?evtest
누군가는 이것이 처음 8개의 코드가 유지되었기 때문이라고 생각할 것이라고 확신하지만 그것은 관련이 없어야 합니다. 그렇지 않습니까? 키코드는 보존 여부에 관계없이 전치된 값(임의 또는 고정)이 아닌 원본 코드로 출력되어 잠재적으로 오류를 발생시켜야 하지 않습니까?
저는 실제로 일부 프로그램이 출력하는 이유와 일부 시스템에서 입력을 위해 8개의 출력이 필요한 이유 사이의 차이점을 이해하려고 노력하고 있으며 이러한 불일치를 마음 속에서 인식하는 방법을 이해하려고 노력하고 있습니다.