Tab추가 키 없이 단독으로 클릭하면 평소처럼 Tab처럼 작동하지만 Tab+와 같은 다른 키와 결합 하면 j처럼 작동 하도록 키를 다시 매핑하고 싶습니다 Win.
TAB = TAB (pressed solely)
TAB + (any_key) = WIN_KEY + (any_key)
이를 달성하려면 어떤 도구를 사용해야 합니까?
답변1
두 개의 명령줄 기반 도구가 필요합니다.시프그리고xmodmap.
이를 사용하여 키를 다시 매핑할 수 있습니다 xev
. 터미널 창을 실행하고 실행 xev
한 다음 동작을 변경하려는 키를 누르십시오. 귀하의 경우에는 이것이 Tab핵심입니다.
xev
Tab키에 대한 정보 가 표시됩니다 . 예를 들어:
KeyRelease event, serial 37, synthetic NO, window 0x4000001,
root 0x75, subw 0x0, time 4090453521, (461,542), root:(468,620),
state 0x10, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
세 번째 줄이 가장 중요합니다. 여기서 는 Tab
이때 키가 할당된 동작의 이름이고, 숫자 키코드는 23
Tab 키를 식별하는 내부 ID입니다.
또는 키에 대한 정보 Windows:
KeyPress event, serial 37, synthetic NO, window 0x4000001,
root 0x75, subw 0x0, time 4090816069, (681,389), root:(688,467),
state 0x10, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
다시 말하지만, 세 번째 줄이 가장 중요합니다. 여기서 는 Super_L
현재 키가 할당된 동작의 이름이고 숫자 키코드는 115
Windwos 키를 식별하는 내부 ID입니다.
를 사용하여 두 개의 키를 교환 할 수 있습니다 xmodmap
. 여기 하나 있어요지도 시간. 예를 들어:
xmodmap -e "keycode 115 = Tab"
이렇게 하면 Windows 키의 동작이 변경되어 Tab 키와 똑같이 동작하게 됩니다. 또는
xmodmap -e "keycode 115 = Tab j"
이렇게 하면 Tab+ 키의 동작이 변경되어 키 j처럼 작동하게 됩니다 .Tab
답변2
@Goro의 답변에는 키 입력을 식별하는 데 유용한 도구가 나열되어 있습니다.시프. 그러나 그의 대답의 두 번째 부분은 내가 원하는 것이 아닙니다.
Tabnot key 의 동작을 변경하고 싶습니다 Windows. 예를 들어 i3 창 관리자에서 창을 변경하는 스크립트를 활성화하려면 Tab+ 1을 눌러 첫 번째 화면으로 전환할 수 있습니다. Win+ 1(기본값). 하지만 단독으로 누르면 여전히 Tab들여쓰기에 사용할 수 있습니다.
그것을 작동시키기 위해 내가 한 일은 다음과 같습니다.xmodmap그리고X 각도.
spare_modifier="Super_L"
echo $spare_modifier
xmodmap -e "keycode 23 = $spare_modifier"
xmodmap -e "remove mod4 = $spare_modifier"
xmodmap -e "add Win = $spare_modifier"
xmodmap -e "add mod4 = $spare_modifier"
xmodmap -e "keycode any = Tab"
xcape -e "$spare_modifier=Tab"