partial alphanumeric_keys xkb_symbols "my-sym-dvp" { include "us(dvorak)" name[Group1] = "English (US, Programmer Dvorak) with modified keys"; // manual rebind for programmer dvorak 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, U2E18 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // reversed interrobang key { [ numbersign, grave, dead_grave ] }; // upper row, left side key { [ semicolon, colon, dead_diaeresis ] }; key { [ comma, less, guillemotleft, U201C ] }; key { [ period, greater, guillemotright, U201D ] }; 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, U203D ] }; // interrobang key { [ at, asciicircum, dead_circumflex, dead_caron ] }; // home row, left side key { [ a, A, aring, Aring ] }; key { [ o, O, oslash, Oslash ] }; 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, U1E9E ] }; key { [ minus, underscore, hyphen, endash ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; key { [ backslash, bar ] }; // lower row, left side key { [ apostrophe, quotedbl, dead_acute ] }; key {[ Return ], type[group1] = "ONE_LEVEL" }; key {[ Escape ], type[group1] = "ONE_LEVEL" }; key { [ F13, Delete ], type[group1] = "TWO_LEVEL" }; key { [ F14, Insert ], type[group1] = "TWO_LEVEL" }; key {[ F15 ]}; key {[ Control_R ], type[group1] = "ONE_LEVEL" }; replace key {[ Control_L ], type[group1] = "ONE_LEVEL" }; replace key {[ Caps_Lock ]}; modifier_map Control { }; modifier_map Lock { }; };