Dvorak intl code
| by jpic | dvorak-intl-codeAfter upgrading Ubuntu, I had to redo my custom dvorak layout.
To enable it, the only way I’ve found is to add the layout to /usr/share/X11/xkb/us.
Then you can enable it through a GUI, or with command:
setxkbmap us dvorak-intl-code
It is optimized for multilinguists and hackers:
// Dvorak international with dead keys and optimisations for code
// Olivier Mehani (shtrom-xorg@ssji.net) & James Pic
// Reproduce the per-key mapping of us(intl) for the dvorak layout
// aka "I just swapped my keys over"
// Symbols and numbers swapped for code
// colon and semi colon swapped for vim
partial alphanumeric_keys
xkb_symbols "dvorak-intl-code" {
name[Group1]= "English (Dvorak international with dead keys)";
include "us(dvorak)"
key <tlde> { [dead_grave, dead_tilde, grave, asciitilde ] };
key <ae01> { [ exclam, 1, exclamdown, onesuperior ] };
key <ae02> { [ at, 2, twosuperior, dead_doubleacute ] };
key <ae03> { [ numbersign, 3, threesuperior, dead_macron ] };
key <ae04> { [ dollar, 4, currency, sterling ] };
key <ae05> { [ percent, 5, EuroSign, dead_cedilla ] };
key <ae06> { [asciicircum, 6, onequarter, dead_circumflex ] };
key <ae07> { [ ampersand, 7, onehalf, dead_horn ] };
key <ae08> { [ asterisk, 8, threequarters, dead_ogonek ] };
key <ae09> { [ parenleft, 9, leftsinglequotemark, dead_breve ] };
key <ae10> { [ parenright, 0, rightsinglequotemark, dead_abovering ] };
key <ae11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
key <ae12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
key <ad01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
key <ad02> { [ comma, less, ccedilla, Ccedilla ] };
key <ad03> { [ period, greater, dead_abovedot, dead_caron ] };
key <ad04> { [ p, P, odiaeresis, Odiaeresis ] };
key <ad05> { [ y, Y, udiaeresis, Udiaeresis ] };
// key <ad06> { [ f, F ] };
// key <ad07> { [ g, G ] };
key <ad08> { [ c, C, copyright, cent ] };
key <ad09> { [ r, R, registered, registered ] };
key <ad10> { [ l, L, oslash, Ooblique ] };
key <ad11> { [ slash, question, questiondown, dead_hook ] };
// key <ad12> { [ equal, plus, multiply, division ] };
key <ac01> { [ a, A, aacute, Aacute ] };
key <ac02> { [ o, O, oacute, Oacute ] };
key <ac03> { [ e, E, eacute, Eacute ] };
key <ac04> { [ u, U, uacute, Uacute ] };
key <ac05> { [ i, I, iacute, Iacute ] };
key <ac06> { [ d, D, eth, ETH ] };
// key <ac07> { [ h, H ] };
key <ac08> { [ t, T, thorn, THORN ] };
key <ac09> { [ n, N, ntilde, Ntilde ] };
key <ac10> { [ s, S, ssharp, section ] };
// key <ac11> { [ minus, underscore, yen, dead_belowdot ] };
key <ab01> { [ colon, semicolon, paragraph, degree ] };
key <ab02> { [ q, Q, adiaeresis, Adiaeresis ] };
// key <ab03> { [ j, J ] };
key <ab04> { [ k, K, oe, OE ] };
// key <ab05> { [ x, X ] };
// key <ab06> { [ b, B ] };
key <ab07> { [ m, M, mu, mu ] };
key <ab08> { [ w, W, aring, Aring ] };
// key <ab09> { [ v, V ] };
key <ab10> { [ z, Z, ae, AE ] };
key <bksl> { [ backslash, bar, notsign, brokenbar ] };
include "level3(ralt_switch)"
}; </bksl></ab10></ab09></ab08></ab07></ab06></ab05></ab04></ab03></ab02></ab01></ac11></ac10></ac09></ac08></ac07></ac06></ac05></ac04></ac03></ac02></ac01></ad12></ad11></ad10></ad09></ad08></ad07></ad06></ad05></ad04></ad03></ad02></ad01></ae12></ae11></ae10></ae09></ae08></ae07></ae06></ae05></ae04></ae03></ae02></ae01></tlde>