One of my Kinesis Advantage with blank key caps |
Having moved recently to archlinux with i3 as my window manager I no longer have graphical keyboard settings tools installed.
xev to the rescue!
xev is a command line tool that prints the contents of events in the X Window System:
KeyPress event, serial 54, synthetic NO, window 0x1a00001, root 0x289, subw 0x0, time 2834169, (-425,551), root:(539,599), state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 54, synthetic NO, window 0x1a00001, root 0x289, subw 0x0, time 2834272, (-425,551), root:(539,599), state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 54, synthetic NO, window 0x1a00001, root 0x289, subw 0x0, time 2834682, (-425,551), root:(539,599), state 0x0, keycode 47 (keysym 0x3b, semicolon), same_screen YES, XLookupString gives 1 bytes: (3b) ";" XmbLookupString gives 1 bytes: (3b) ";" XFilterEvent returns: False KeyRelease event, serial 54, synthetic NO, window 0x1a00001, root 0x289, subw 0x0, time 2834777, (-425,551), root:(539,599), state 0x0, keycode 47 (keysym 0x3b, semicolon), same_screen YES, XLookupString gives 1 bytes: (3b) ";" XFilterEvent returns: False KeyPress event, serial 54, synthetic NO, window 0x1a00001, root 0x289, subw 0x0, time 2838923, (-425,551), root:(539,599), state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 54, synthetic NO, window 0x1a00001, root 0x289, subw 0x0, time 2838994, (-425,551), root:(539,599), state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False MotionNotify event, serial 32, synthetic NO, window 0x1e00001, root 0x289, subw 0x0, time 8794435, (20,392), root:(1304,440), state 0x0, is_hint 0, same_screen YES MotionNotify event, serial 32, synthetic NO, window 0x1e00001, root 0x289, subw 0x0, time 8794447, (1,393), root:(1285,441), state 0x0, is_hint 0, same_screen YES LeaveNotify event, serial 32, synthetic NO, window 0x1e00001, root 0x289, subw 0x0, time 8794458, (-16,393), root:(1268,441), mode NotifyNormal, detail NotifyNonlinear, same_screen YES, focus YES, state 0 KeyPress event, serial 32, synthetic NO, window 0x1e00001, root 0x289, subw 0x0, time 8795156, (-83,393), root:(1201,441), state 0x0, keycode 42 (keysym 0x67, g), same_screen YES, XLookupString gives 1 bytes: (67) "g" XmbLookupString gives 1 bytes: (67) "g" XFilterEvent returns: False KeyRelease event, serial 32, synthetic NO, window 0x1e00001, root 0x289, subw 0x0, time 8795235, (-83,393), root:(1201,441), state 0x0, keycode 42 (keysym 0x67, g), same_screen YES, XLookupString gives 1 bytes: (67) "g" XFilterEvent returns: False
The interesting lines are the ones with the keycode and symbol:
... state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES, ...
No more blind key remaps :)