Fun with windows-keys under X

General things

Generally, you want to assign Mode_switch to the Windows-Keys. The syntax I describe is for the typical 105 keys US-keyboard, so before you try any of these, you should use xmodmap -pk to check what your keycodes are.

The final layout will have nearly all latin characters accessible, including € and ¢. To actually view those characters, you will need a charset of ISO-8859-15 (glibc calls it @euro, e.g. de_DE@euro) or a unicode one like UTF-8.

Everyone hates Caps Lock

The most hated key on your keyboard is doubtless the Caps-Lock-key, so we will turn it into an ordinary shift-key by doing

xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "add Shift = Caps_Lock"

If for a reason unknown to me, you want t keep your precious Caps-Lock-key, just ignore that part ;o)

Mapping the Window-Keys to Mode_switch

This can be obtained by simply assigning both keycodes the Mode_switch function:

xmodmap -e "keycode 115 = Mode_switch"
xmodmap -e "keycode 116 = Mode_switch"

€, ¢, ¥ and £

What comes next is that we assign the € and the ¢ to windows-e and windows-c and ¥ and £ to windows-y and windows-p (like "pound"). This looks like this:

xmodmap -e "keycode 26 = e E EuroSign"
xmodmap -e "keycode 29 = y Y yen"
xmodmap -e "keycode 33 = p P sterling"
xmodmap -e "keycode 54 = c C cent copyright"

Also note that window-shift-c is mapped to ©, maybe someone might find it useful, too ;o)

Mapping lots of special chars

This is the fun-part I'm not describing any deeper. I map a lot of keys (also dead keys, which are used to combine chars, like dead_tilde) to windows-key-combinations, maybe you might want to try them. All things can simply be pasted and tested on-the-fly. Pick the settings you like, they might give you an idea what can be done

xmodmap -e "keycode 30 = u U udiaeresis"
xmodmap -e "keycode 39 = s S ssharp"
xmodmap -e "keycode 32 = o O odiaeresis"
xmodmap -e "keycode 38 = a A adiaeresis"
xmodmap -e "keycode 59 = comma less guillemotleft"
xmodmap -e "keycode 60 = period greater guillemotright"
xmodmap -e "keycode 11 = 2 at twosuperior"
xmodmap -e "keycode 12 = 3 numbersign threesuperior"
xmodmap -e "keycode 58 = m M mu"
xmodmap -e "keycode 48 = apostrophe quotedbl dead_acute dead_diaeresis"
xmodmap -e "keycode 49 = grave asciitilde dead_grave dead_tilde"
xmodmap -e "keycode 15 = 6 asciicircum dead_circumflex"
xmodmap -e "keycode 55 = v V dead_caron"
xmodmap -e "keycode 59 = comma less guillemotleft dead_cedilla"
xmodmap -e "keycode 60 = period greater guillemotright dead_ogonek"
xmodmap -e "keycode 27 = r R registered"

Well... that's about it, I'm not telling you more or even describe the whole syntax or how to save the map generated this way (RTFM!), that's beyond my mood now.


Last modified: 08.10.2004 [21:42:59]    042024122000@mark.reidel.info