Fellow Unix people,
If you think being able to type things that are not present on your keyboard is awesome, you have three options, and should do all three:
- Use SCIM. It's heavyweight, and requires a keycode and uses a helper window to choose between entirely different keymaps you use for particular languages. It's really nice for extended typing in those languages, and requires the least brainpower to setup.
- Map yourself a compose key - compose keys are great for letting you quickly type things you seldom use - there's a set of mostly intuitive combinations of two keys that you type after hitting whatever you've mapped to compose, and it fills in the corrispomnding key. This is great for doing accents and umlauts, but also nice for things like degrees signs (compose-caret-0 = ⁰)
- Map specific direct keys using AltGr - This is another modifier key you can map and flexibly assign symbols/etc to your existing keys for. This is probably more similar to the way Macs traditionally have given people alternative characters. I just learned how to do this.
Personally, I don't like caps lock, but because I didn't grow up on keyboards with the control key in that location, I prefer to remap my caps lock to compose. I also don't use my right control key, and prefer to map that to AltGr. If you're the same, drop these in your .xmodmaprc:
- keycode 105=Mode_switch
- remove Lock = Caps_Lock
- keycode 66 = Multi_key
To add new alternative graphs (altgr values), you'll want a line for each key with 4 values:
- What the key should be normally
- What the key should be while shift is held
- What the key should be while AltGr is held
- What the key should be while shift and AltGr are held
- keysym bracketleft = bracketleft braceleft U0300C U0300E
- keysym bracketright = bracketright braceright U0300D U0300F