// International Coder Dvorak // By: Ryan Kavanagh , http://ryanak.ca/ // // Optimised for typing in English, French and Spanish. // // Based on the Dvorak International (dvorak-intl) layout: // Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net) // Based on information from http://www.poupinou.org/dvorak/index.html // Based on the Programmer Dvorak (dvp) layout: // Programmer Dvorak, by Roland Kaufmann // License: BSD, available at // // SHIFT: ~ % 7 5 3 1 9 0 2 4 6 8 ` BCKSP // NORMAL: $ & [ { } ( = * ) + ] ! # BCKSP // AltGr: ¢ ¤ € £ d˘ d¨ d¸ d`` d` d´ d˝ ¡ d˚ BCKSP // SFT-AG: d~ ₽ ¥ d˳ BCKSP // // TAB : < > P Y F G C R L ? ^ | // TAB ; , . p y f g c r l / @ \ // TAB ë « » ü í ç þ ¿ dˆ d' // TAB Ë ° · Ü Í Ç Þ dˇ d. // // CAPL A O E U I D H T N S _ ENTER // CAPL a o e u i d h t n s - ENTER // CAPL à ó é û î ð œ æ ñ ß – ENTER // CAPL À Ó É Û Î Ð Œ Æ Ñ ‾ — ENTER // // SHIFT " Q J K X B M W V Z SHIFT // SHIFT ' q j k x b m w v z SHIFT // SHIFT â ô è ù ï ê ¶ SHIFT // SHIFT Â Ô È Ù Ï Ê § // // Legend: dX -> dead_X // // en dash: AltGr-hyphen_minus // em dash: Shift-AltGr-hyphen_minus // dead_doublegrave: AltGr-asterisk // dead_abovedot: on AltGr-backslash // dead_belowdot: on Shift-AltGr-backslash partial alphanumeric_keys xkb_symbols "icd" { include "us(dvp)" name[Group1] = "USA - International Coder Dvorak"; // Unmodified Shift AltGr Shift+AltGr // symbols row, left side key { [ dollar, asciitilde, cent, dead_tilde ] }; key { [ ampersand, percent, currency, U20BD ] }; key { [ bracketleft, 7, EuroSign, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ braceleft, 5, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ braceright, 3, dead_hook ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ parenleft, 1, dead_diaeresis ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ equal, 9, dead_cedilla ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // symbols row, right side key { [ asterisk, 0, dead_doublegrave ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ parenright, 2, dead_grave ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ plus, 4, dead_acute ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ bracketright, 6, dead_doubleacute ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ exclam, 8, exclamdown ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ numbersign, grave, dead_abovering, dead_belowring ] }; key { [ BackSpace ] }; // upper row, left side key { [ semicolon, colon, ediaeresis, Ediaeresis ] }; key { [ comma, less, guillemotleft, degree ] }; key { [ period, greater, guillemotright, periodcentered ] }; key { [ p, P, udiaeresis, Udiaeresis ] }; key { [ y, Y, iacute, Iacute ] }; // upper row, right side key { [ f, F, udiaeresis, Udiaeresis ] }; key { [ g, G ] }; key { [ c, C, ccedilla, Ccedilla ] }; key { [ r, R ] }; key { [ l, L, thorn, THORN ] }; key { [ slash, question, questiondown ] }; key { [ at, asciicircum, dead_circumflex, dead_caron ] }; key { [ backslash, bar, dead_abovedot, dead_belowdot ] }; // home row, left side key { [ a, A, agrave, Agrave ] }; key { [ o, O, oacute, Oacute ] }; key { [ e, E, eacute, Eacute ] }; key { [ u, U, ucircumflex, Ucircumflex] }; key { [ i, I, icircumflex, Icircumflex] }; // home row, right side key { [ d, D, eth, ETH ] }; key { [ h, H, oe, OE ] }; key { [ t, T, ae, AE ] }; key { [ n, N, ntilde, Ntilde ] }; key { [ s, S, ssharp, overline ] }; key { [ minus, underscore, endash, emdash ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // lower row, left side key { [ apostrophe, quotedbl, acircumflex, Acircumflex] }; key { [ q, Q, ocircumflex, Ocircumflex] }; key { [ j, J, egrave, Egrave ] }; key { [ k, K, ugrave, Ugrave ] }; key { [ x, X, idiaeresis, Idiaeresis ] }; // lower row, right side key { [ b, B ] }; key { [ m, M, ecircumflex, Ecircumflex] }; key { [ w, W, paragraph, section ] }; key { [ Shift_R, Shift_R, Shift_R, Shift_R ] }; };