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