That mainly means:
- Swap Fn and left Ctrl
- Tab-left to act like PgUp
- Fn' + Tab-left to act like Home
- Tab-right to act like PgDown
- Fn' + Tab-right to act like End
- PgUp to act like Delete
- Home to act like Insert
xev to see the codes.
I have found this list of symbols: http://cs.gmu.edu/~sean/stuff/n800/keyboard/keysymdef.h
This is my result:
xmodmap -e 'keycode 112 = XF86Back' # Remap PgUp to TabPrev xmodmap -e 'keycode 117 = XF86Forward' # Remap PgDn to Tabnext xmodmap -e 'keycode 166 = Prior Home XF86Back' # Remap TabPrev to PgUp. xmodmap -e 'keycode 167 = Next End XF86Forward' # Remap TabNext to PgDn. xmodmap -e 'keycode 151 = Control_L' # Remap FN to be Ctrl. xmodmap -e 'keycode 37 = XF86WakeUp' # Remap Ctrl to be FN. xmodmap -e 'keycode 94 = Shift_L' # Remap stupid left |\*& to be Shift too.
However it's not exactly what I need as it maps Shift + Tab* to Home, which prevents me using the
Home' combo (to select text) and only works in some applications (e.g. doesn't work in Firefox to go to the top).
So - how should I map it?
Update: I used
setkeycodes and found these scancodes:
Press Release TabLeft - 158 ^[[5~0xe0 0x6a 0xe0 0xea TabRight - 159 ^[[6~0xe0 0x69 0xe0 0xe9 PgUp: 0xe0 0x49 0xe0 0xc9 PgDn: 0xe0 0x51 0xe0 0xd1 Ctrl: 0x1d 0x9d FN: 0xe0 0x63 0xe0 0xe3
Update: I also found that
dumpkeys shows interesting info.
Like, string aliases for some keys; e.g., the
^[[5~ shown by
showkey -s is defined there.
Update: I've tried
sudo setkeycodes 0xE063 29 ## Fn to Ctrl sudo setkeycodes 0x1d 143 ## Ctrl to Fn sudo setkeycodes 0x56 42 ## |\*& to Shift
showkeys -k shows the right keycodes coming, but still they don't work so - e.g.
Ctrl+T doesn't open a tab in FF etc.
After reverting the changes, everything works as before.
sudo setkeycodes 0xE063 143 ## Fn to Ctrl sudo setkeycodes 0x1d 29 ## Ctrl to Fn
What do I miss?