ThinkPad W540이 있습니다. 키보드에는 숫자 키패드 위에 4 개의 멀티미디어 키가 있습니다. 이러한 키 중 두 개는 키 조합 Win_L+ L및 Win_L+ 에 해당하는 키 코드 (및 스캔 코드)를 생성 E합니다. 즉, 생성 키 Win_L+를 L,
showkey --scancodes
이 반환합니다 :
0xe0 0x5b 0x26 0xa6 0xe0 0xdb
이 setkeycodes
명령에는 스캔 코드를 나타 내기 위해 단일 바이트 이스케이프 처리되지 않거나 이스케이프 처리 된 2 바이트 시퀀스가 필요하며 showkey
그보다 더 많은 방법을 제공하므로 시스템에서 사용 가능한 키 코드 중 하나에 해당 키를 간단하게 다시 매핑 할 수 없습니다 setkeycodes <scancode> <keycode>
.
키보드의 기존 키 조합 중 하나를 단순히 복제하지 않는 다른 키로 해당 키를 다시 매핑하는 방법에 대한 힌트를 얻을 수 있습니다.
답변
이 작업은 두 단계로 수행 할 수 있습니다.
- 키 조합을 잡기 위해
- 다른 키 입력을 시뮬레이션합니다.
당신이 사용할 수 xchainkeys
에 대한 1 과 [xdotool][2]
에 대한 2 :
와 시뮬레이션 새 키를 생성하려면 xdotool
, 옵션 --clearmodifiers
의는 key
원래 시뮬레이션 수정을 눌러을 중화하는 것이 중요 할 수있다 :
xdotool key --clearmodifiers Shift+a
A
테스트로 대문자 를 입력해야합니다 .
의 구성에서 xchainkeys
의 ~/.config/xchainkeys/xchainkeys.conf
, 우리는 키 조합에 명령을 바인딩 할 수 있습니다 :
W-l :exec xdotool key --clearmodifiers Shift+a
이제 Win_L + L을 생성하는 키뿐만 아니라 키 조합 Win
과 l
( Win
왼쪽 또는 오른쪽도 동일하게 수행) 자본을 만들어야합니다 A
.
(두 부분 모두에 사용할 수있는 다른 프로그램이 많이 있습니다. 첫째, 데스크탑 환경의 핫키 구성을 사용할 수 있지만 DE와 독립적으로 유지하는 것을 선호합니다.)
답변
백 슬래시 / 파이프 키를 올바른 키에 리 바인드하기 위해 Thinkpad Yoga에서 수행 한 작업입니다. 어떤 이유로 든 모든 Linux 가상 머신에서 백 슬래시 \ 파이프 (\ |) 키를보다 작음 (<) 키로 해석했습니다.
먼저 다음 명령을 실행하십시오. xev
원하는 키를 눌러 리 바인드하려는 키의 키 코드를 얻습니다.
이 예제에서 키코 드는 94이고 동작은 “낮음”이지만 백 슬래시와 바 (일명 “파이프”)의 동작을 갖기를 원합니다.
키 코드 94를 백 슬래시 및 바 키 ( “파이프”)로 다시 매핑하십시오.
xmodmap -e 'keycode 94 = backslash bar'
이제 이것을 영속적으로 만들어 보자.
xmodmap -pke | egrep "backslash|bar" | grep 94 > ~/.Xmodmap`
파일에 다음을 반환합니다 ~/.Xmodmap
.
keycode 94 = backslash bar backslash bar
그런 다음 지속적으로 작성하려면 다음 파일을 작성해야합니다.
echo "xmodmap .Xmodmap" > ~/.xinitrc