Met xmodmap kunnen toetsencombinaties worden gebruikt om speciale karakters te vormen. (Het werkt helaas alleen als je onder X werkt, niet in de console.) Het werkt voor zowel een terminal als andere programma's onder X.
Maak, als het nog niet bestaat, een bestand genaamd .xmodmap aan in je home directory en zet daar bijvoorbeeld het volgende in.
keycode 0x70 = KP_Divide dead_acute keycode 0x3F = KP_Multiply dead_diaeresis keycode 0x52 = KP_Subtract dead_grave keycode 0x56 = KP_Add dead_circumflex
Voer daarna xmodmap ~/.xmodmap uit. Om het iedere keer bij het starten van X te laten uitvoeren, kun je dat commando opnemen in ~/.Xclients.
In bovenstaande voorbeeld worden twee waardes toegekend aan elke toets, namelijk een symbool voor het indrukken van de toets zonder shift en een waarde voor het indrukken van de toets met shift. Elke toets heeft een nummer, een keycode. Zo is de keycode van de -toets (op het numerieke pad) 0x70. Het symbool / heet ook wel ''KP_Divide''. Dat is het symbool dat je krijg je als je de toets zonder shift indrukt (wordt het eerste genoemd). Als je de toets met shift indrukt krijg je het symbool dat ''dead_acute'' heet. Er wordt dan niets getoond, maar als je erna een klinker intikt, komt daar er een acute (streepje naar rechts) op te staan. In bovenstaande voorbeeld worden accenten toegekend aan de toetsencombinaties shift en / ; shift en * ; shift en - ; shift en +.
Het is mogelijk om meer dan twee waardes aan een toets toe te kennen. Niet alleen in combinatie met shift, maar ook in combinatie met bijv. een Windows-toets (als je een toetsenbord hebt waar die op zit). In dat geval moet je zorgen dat zo'n toets een modifier is. De toetscode van de linker Windows-toets is 0x73. Om die als modifier te kunnen gebruiken, moet je de volgende 2 regels toevoegen aan ~/.xmodmap.
keycode 0x73 = Mode_switch add Mod3 = Mode_switch
Nu kun je bijv. de e zo gebruiken dat het normaal een e geeft, met shift een E, met de linker Windows-toets een é en met shift en de linker Windows-toets een É door de volgende regel aan ~/.xmodmap toe te voegen.
keycode 0x1A = e E eacute Eacute
Of voor a, A, ä, Ä:
keycode 0x26 = a A adiaeresis Adiaeresis
Nog een andere mogelijkheid is gebruik maken van de multikey, ook wel compose-key genoemd. Als je die multi-key indrukt en daarna een apostrof en daarna een e dan krijg je é, multi-key gevolgd door een dakje (shift en 6) en dan e geeft ê. Zet om de rechter Windows-toets als multi-key te gebruiken de volgende regel in ~/.xmodmap.
keycode 0x74 = Multi_key
Hoe kun je al die vreemde keycodes nou weten? Er is een leuk programma om grafisch al die toetsen in te kunnen stellen, namelijk xkeycaps (http://www.jwz.org/xkeycaps/).
Deze tip is afkomstig van Bas van der Meer (basm@casema.net
).