// Grabbed from http://lists.freedesktop.org/archives/xorg/2007-July/026686.html // Submitted there by Adriaan van Nijendaal, he says he submitted it to X.org // for inclusion, so it should be OK to use it as if it were part of X.org // The keyboard section in the X-server config file // (/etc/X11/xorg.conf on my system) looks like this: // // Section "InputDevice" // Driver "kbd" // Identifier "Keyboard[0]" // Option "XkbModel" "pc101" // Option "XkbLayout" "us" // Option "XkbVariant" "altgr-intl" // EndSection // // To be effective, you need to install this file, change the X config // file and restart the X-server. Or, alternatively, you can do this // run-time: // // setxkbmap -v -rules xorg -model pc101 -layout us -variant altgr-intl // // Once the X-server has loaded the new config, a keyboard can be // displayed with: (if you change "-ll 1" into "-ll 2", you'll see // the special keys ONLY.) // // xkbcomp -o /tmp/keyboard.xkm -opt cgkst -xkb $DISPLAY // xkbprint -o /tmp/keyboard.xkm.ps -kc -nkg 2 -ntg 4 -lg 1 -ll 1 \ // -lc en_US.iso885915 -level2 -mono -label symbols -w 3 $DISPLAY; // gv -seascape /tmp/keyboard.xkm.ps // rm -f /tmp/keyboard.xkm.ps /tmp/keyboard.xkm // partial hidden alphanumeric_keys xkb_symbols "altgr-intl" { name[Group1]= "U.S. English - International (AltGr dead keys)"; include "us(basic)" key { [ grave, asciitilde, dead_grave, dead_tilde ] }; key { [ 1, exclam, onesuperior, exclamdown ] }; key { [ 2, at, twosuperior, dead_doubleacute] }; key { [ 3, numbersign, threesuperior, dead_macron ] }; key { [ 4, dollar, currency, sterling ] }; key { [ 5, percent, EuroSign ] }; key { [ 6, asciicircum, dead_circumflex, dead_stroke ] }; key { [ 7, ampersand, dead_horn ] }; key { [ 8, asterisk, dead_ogonek ] }; key { [ 9, parenleft, leftsinglequotemark,dead_breve ] }; key { [ 0, parenright,rightsinglequotemark,dead_abovering ] }; key { [ minus, underscore, yen, dead_belowdot ] }; key { [ equal, plus, multiply, division ] }; key { [ q, Q, adiaeresis, Adiaeresis ] }; key { [ w, W, aring, Aring ] }; key { [ e, E, eacute, Eacute ] }; key { [ r, R, ediaeresis, Ediaeresis ] }; key { [ t, T, thorn, THORN ] }; key { [ y, Y, udiaeresis, Udiaeresis ] }; key { [ u, U, uacute, Uacute ] }; key { [ i, I, iacute, Iacute ] }; key { [ o, O, oacute, Oacute ] }; key { [ p, P, odiaeresis, Odiaeresis ] }; key { [ bracketleft, braceleft, guillemotleft ] }; key { [ bracketright,braceright, guillemotright ] }; key { [ a, A, aacute, Aacute ] }; key { [ s, S, ssharp, section ] }; key { [ d, D, eth, ETH ] }; key { [ f, F ] }; key { [ g, G ] }; key { [ h, H, hyphen, nobreakspace ] }; key { [ j, J, idiaeresis, Idiaeresis ] }; key { [ k, K ] }; key { [ l, L, oslash, Ooblique ] }; key { [semicolon, colon, paragraph, degree ] }; key { [apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; key { [ z, Z, ae, AE ] }; key { [ x, X, oe, OE ] }; key { [ c, C, copyright, cent ] }; key { [ v, V, registered, registered ] }; key { [ b, B, emdash, endash ] }; key { [ n, N, ntilde, Ntilde ] }; key { [ m, M, mu, plusminus ] }; key { [ comma, less, ccedilla, Ccedilla ] }; key { [ period, greater, dead_abovedot, dead_caron ] }; key { [ slash, question, questiondown, dead_hook ] }; key { [backslash, bar, notsign, brokenbar ] }; // Let's have free choice //include "level3(ralt_switch)" };