Files
2026-06-30 10:59:25 +09:00

66 lines
4.2 KiB
Plaintext

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 <TLDE> { [ dollar, asciitilde, dead_tilde ] };
key <AE01> { [ ampersand, percent ] };
key <AE02> { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE03> { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE04> { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE05> { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE06> { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
// symbols row, right side
key <AE07> { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE08> { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE09> { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE10> { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE11> { [ exclam, 8, exclamdown, U2E18 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // reversed interrobang
key <AE12> { [ numbersign, grave, dead_grave ] };
// upper row, left side
key <AD01> { [ semicolon, colon, dead_diaeresis ] };
key <AD02> { [ comma, less, guillemotleft, U201C ] };
key <AD03> { [ period, greater, guillemotright, U201D ] };
key <AD04> { [ p, P, paragraph, section ] };
key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
// upper row, right side
key <AD08> { [ c, C, ccedilla, Ccedilla ] };
key <AD09> { [ r, R, registered, trademark ] };
key <AD11> { [ slash, question, questiondown, U203D ] }; // interrobang
key <AD12> { [ at, asciicircum, dead_circumflex, dead_caron ] };
// home row, left side
key <AC01> { [ a, A, aring, Aring ] };
key <AC02> { [ o, O, oslash, Oslash ] };
key <AC03> { [ e, E, ae, AE ] };
key <AC04> { [ u, U, eacute, Eacute ] };
// home row, right side
key <AC06> { [ d, D, eth, ETH ] };
key <AC07> { [ h, H, dead_acute ] };
key <AC08> { [ t, T, thorn, THORN ] };
key <AC09> { [ n, N, ntilde, Ntilde ] };
key <AC10> { [ s, S, ssharp, U1E9E ] };
key <AC11> { [ minus, underscore, hyphen, endash ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <BKSL> { [ backslash, bar ] };
// lower row, left side
key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
key <RALT> {[ Return ], type[group1] = "ONE_LEVEL" };
key <RCTL> {[ Escape ], type[group1] = "ONE_LEVEL" };
key <DEL> { [ F13, Delete ], type[group1] = "TWO_LEVEL" };
key <INS> { [ F14, Insert ], type[group1] = "TWO_LEVEL" };
key <ESC> {[ F15 ]};
key <RET> {[ Control_R ], type[group1] = "ONE_LEVEL" };
replace key <CAPS> {[ Control_L ], type[group1] = "ONE_LEVEL" };
replace key <LCTL> {[ Caps_Lock ]};
modifier_map Control { <CAPS> };
modifier_map Lock { <LCTL> };
};