저는 데이지라는 40키 키보드를 사용하고 있으며 모든 키보드에서 레이아웃이 일관되기를 원합니다. 탭을 다른 키로 수정할 수 없으므로 리소스가 낭비됩니다.
.Xmodmap의 관련 부분은 다음과 같습니다.
clear Mod5
! 47 is the ; key on the keyboard
keycode 47 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
add Mod5 = ISO_Level3_Shift
keycode 23 = Tab ISO_Left_Tab Next Next Next Next
그러나 ; + Tab을 누르면 여전히 Tab이 삽입됩니다. 다음엔 어떻게 만들까?
xev를 사용하면 ;+tab 및 Shift+Tab을 누를 때 이것을 얻습니다.
KeyPress event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123115414, (483,707), root:(483,737),
state 0x0, keycode 47 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123115538, (483,707), root:(483,737),
state 0x80, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XmbLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
KeyRelease event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123115672, (483,707), root:(483,737),
state 0x80, keycode 23 (keysym 0xff09, Tab), same_screen YES,
XLookupString gives 1 bytes: (09) " "
XFilterEvent returns: False
KeyRelease event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123115703, (483,707), root:(483,737),
state 0x80, keycode 47 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123141310, (483,707), root:(483,737),
state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123141590, (483,707), root:(483,737),
state 0x1, keycode 23 (keysym 0xfe20, ISO_Left_Tab), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123141757, (483,707), root:(483,737),
state 0x1, keycode 23 (keysym 0xfe20, ISO_Left_Tab), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 10256, synthetic NO, window 0x1000001,
root 0xe5, subw 0x0, time 123141839, (483,707), root:(483,737),
state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False