diff -U 8 -r xkeyboard-config/rules/base.xml.in xkeyboard-config.us-dvp/rules/base.xml.in --- xkeyboard-config/rules/base.xml.in 2008-04-26 20:32:53.000000000 +0200 +++ xkeyboard-config.us-dvp/rules/base.xml.in 2008-04-26 21:00:14.000000000 +0200 @@ -1160,16 +1160,22 @@ dvorak-classic <_description>Classic Dvorak + dvp + <_description>Programmer Dvorak + + + + rus <_description>Russian phonetic mac <_description>Macintosh diff -U 8 -r xkeyboard-config/symbols/us xkeyboard-config.us-dvp/symbols/us --- xkeyboard-config/symbols/us 2008-01-25 00:21:07.000000000 +0100 +++ xkeyboard-config.us-dvp/symbols/us 2008-04-26 21:00:19.000000000 +0200 @@ -489,16 +489,78 @@ key { [ b, B ] }; key { [ m, M ] }; key { [ w, W ] }; key { [ v, V ] }; key { [ z, Z ] }; key { [ backslash, bar ] }; }; +// Programmer Dvorak, by Roland Kaufmann +// License: BSD, available at +// Main features: Numbers are in shift position (like French), symbols have been +// placed in locations that give good hand-alternation and finger rolling with +// symbols that usually follows, accented characters are possible for I18N. +partial alphanumeric_keys +xkb_symbols "dvp" { + include "us(dvorak)" + + name[Group1] = "USA - Programmer Dvorak"; + + // Unmodified Shift AltGr Shift+AltGr + // symbols row, left side + key { [ dollar, asciitilde, dead_tilde ] }; + key { [ ampersand, percent ] }; + key { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + + // symbols row, right side + key { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ exclam, 8, exclamdown ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ numbersign, grave, dead_grave ] }; + key { [ BackSpace ] }; + + // upper row, left side + key { [ semicolon, colon, dead_diaeresis ] }; + key { [ comma, less, guillemotleft ] }; + key { [ period, greater, guillemotright ] }; + key { [ p, P, paragraph, section ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + + // upper row, right side + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ r, R, registered, trademark ] }; + key { [ slash, question, questiondown ] }; + key { [ at, asciicircum, dead_circumflex, dead_caron ] }; + + // home row, left side + key { [ a, A, aring, Aring ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ e, E, ae, AE ] }; + key { [ u, U, eacute, Eacute ] }; + + // home row, right side + key { [ d, D, eth, ETH ] }; + key { [ h, H, dead_acute ] }; + key { [ t, T, thorn, THORN ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ s, S, ssharp ] }; + key { [ minus, underscore, hyphen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ backslash, bar ] }; + + // lower row, left side + key { [ apostrophe, quotedbl, dead_acute ] }; +}; + // phonetic layout for Russian letters on an US keyboard // by Ivan Popov 2005-07-17 // level3 modifier is a shortcut to the "us" meaning of the keys where // we place cyrillic letters, handy for accessing the corresponding // punctuation marks. // It is important to have access to punctuation marks, and the rest of // alphabetical keys are added for being consequent so that the users