Sabayon(젠투 기반 배포판)을 실행하는 Thinkpad Edge E130이 있는데 잘 알려진 버그로 인해 어려움을 겪고 있습니다.Xorg 255 키코드 제한.
내 노트북에는 Fn+F4 단축키가 있습니다.마이크 음소거/음소거 해제. 문제는 다음과 같습니다.
showkey -k
키 코드 표시248Fn+F4 키 누르기showkey -s
키를 누르면 아무것도 표시되지 않음xev
키를 누를 때 아무것도 표시하지 않습니다(248+8(커널에 의해 추가됨)이 255보다 크기 때문)
키에 키코드가 있으면 스캔코드도 있어야 합니다. 그리고스캔 코드 받기프로그램은 스캔 코드로 26을 얻습니다.
# ./Sabayon/getscancodes/getscancodes /dev/input/event6
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x17aa product 0x5054 version 0x4101
Input device name: "ThinkPad Extra Buttons"
26 (0x1a)
26 (0x1a)
~에 따르면이것스레드, 내 생각에는 단축키의 키코드를 사용하지 않는 더 작은 키코드로 변경하는 것 같습니다. 예를 들어 120은 제 생각에는 사용되지 않는 것 같습니다.$ xmodmap -pke
나는 전에 시도했다
# setkeycodes 0x1a 120
하지만 성공하지 못했습니다. 키 코드는 항상 248입니다 showkey
. .
키코드를 변경하는 올바른 방법은 무엇입니까?
답변1
showkey
키스트로크 스캔 코드를 학습 하는 데 사용됩니다 .$ sudo showkey -s 0xe0 0xXX
커널은 코드에 8을 추가합니다 .
112
대신 다음을 사용하십시오 .120
$ sudo setkeycodes e0XX 112
xmodmap
주요 보고서를 keyym으로 만들 려면 다음을 수행XF86AudioMute
하세요.$ xmodmap -e "keycode 120 = XF86AudioMute"
임의로 선택할 수 있는. DE 설정에서 원하는 항목에 대한 바로가기를 만드는 동안 키를 누르세요.
답변2
내가 하고 싶은 것은 "Pause" 버튼을 눌렀을 때 문자 "k"를 인쇄하는 것입니다. 문제는 "일시 중지" 버튼에 스캔 코드가 없다는 것입니다( showkey -s
작동하지 않음). 나는 다음과 같이 문제를 해결했습니다.
- 콘솔로 전환
- "일시 중지" 버튼을 아는 키 코드
showkey -k
(제 경우에는 425)
$ showkey -k
keycode 425 press
keycode 425 release
getkeycodes
스캔코드에 대한 키코드 획득을 위한 매핑 테이블
e0 68: 128 159 158 157 155 226 225 224
e0 70: 0 192 193 149 148 425 116 0
e0 78: 464 148 0 0 0 0 0 0
- 이 표에서 키코드 425와 연관된 스캔코드를 찾으세요(제 경우에는 e075).
- 다시 X로 전환
- 필요한 키 코드를 찾으 려면
xmodmap -pke
(수정할 수도 있음) (내 경우에는 45)
keycode 45 = k K Cyrillic_el Cyrillic_EL k K
- 8을 빼서 커널 키 코드를 얻습니다(45 - 8 = 37).
setkeycodes
원본 스캔 코드 e075와 커널 키 코드 37 사이의 상관 관계를 추가하는 데 사용됩니다 .
sudo setkeycodes e075 37
- 시험을 봐요. 작동해야 한다
답변3
1단계: xmodmap -pke
키 코드가 나열됩니다.
2단계: xmodmap -e 'keycode 51 = backslash bar'
키코드를 백슬래시로 변경