summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2021-10-11 01:12:51 -0600
committerJosh Rahm <joshuarahm@gmail.com>2021-10-11 01:12:51 -0600
commit844d1d61b213b52b431039bc82a08a5ba380f108 (patch)
tree5d71c1e7495c6b27ce2cddb4d9c7b55940542f22
parenta932d854de286735d1592d0e9d08486ba27d6a56 (diff)
downloadrkb-844d1d61b213b52b431039bc82a08a5ba380f108.tar.gz
rkb-844d1d61b213b52b431039bc82a08a5ba380f108.tar.bz2
rkb-844d1d61b213b52b431039bc82a08a5ba380f108.zip
Clean up keyboard definitions. Add a basic Vi mode as Group2.
-rw-r--r--jr434
1 files changed, 338 insertions, 96 deletions
diff --git a/jr b/jr
index aba3983..da713b5 100644
--- a/jr
+++ b/jr
@@ -5,96 +5,289 @@
partial alphanumeric_keys
xkb_symbols "josh-dvorak-intl" {
name[Group1]= "English (Josh, Dvorak, international with dead keys)";
+ name[Group2]= "English (Josh, Dvorak, Vi Mode)";
include "us(dvorak)"
key.type = "EIGHT_LEVEL";
- key <LWIN> {[Control_L]};
- key <RWIN> {[Control_R]};
- key <LCTL> {[Super_L]};
- key <RTSH> {[ISO_Level5_Shift, ISO_Next_Group, U203D, ISO_Prev_Group]};
- key <CAPS> {[Escape, U2615, b, c, U12000, e, f, g]};
- key <RTRN> {[Return, Return]}; // ‹Return›
- key <BKSP> {[BackSpace]};
+ key <LWIN> {
+ symbols[Group1] = [Control_L, Control_L, Control_L, Control_L, Control_L, Control_L, Control_L, Control_L],
+ symbols[Group2] = []
+ };
+ key <RWIN> {
+ symbols[Group1] = [Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R, Control_R],
+ symbols[Group2] = []
+ };
+ key <LCTL> {
+ symbols[Group1] = [Super_L, Super_L, Super_L, Super_L, Super_L, Super_L, Super_L, Super_L],
+ symbols[Group2] = []
+ };
+ key <RTSH> {
+ symbols[Group1] = [ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift],
+ symbols[Group2] = []
+ };
+ key <CAPS> {
+ symbols[Group1] = [Escape, Escape, Home, Home, ISO_Next_Group, End, Delete, Delete],
+ symbols[Group2] = []
+ };
+ key <RTRN> {
+ symbols[Group1] = [Return, Return],
+ symbols[Group2] = []
+ }; // ‹Return›
+ key <BKSP> {
+ symbols[Group1] = [BackSpace],
+ symbols[Group2] = []
+ };
+ key <TAB> {
+ symbols[Group1] = [Tab, ISO_Left_Tab],
+ symbols[Group2] = []
+ };
+ key <RCTL> {
+ symbols[Group1] = [Hyper_L, Hyper_L],
+ symbols[Group2] = []
+ };
+
+ modifier_map Mod3 {<RCTL>};
modifier_map Mod4 {<LCTL>};
- key <RALT> {type[Group1]="ONE_LEVEL", symbols[Group1]=[ISO_Level3_Shift]};
- modifier_map Mod5 {<RALT>};
-
- key <RTSH> {type[Group1]="ONE_LEVEL", symbols[Group1]=[ISO_Level5_Shift]};
- modifier_map Lock {<RTSH>};
-
- key <TLDE> {[grave, asciitilde, dead_grave, dead_tilde]};
- key <AE01> {[1, exclam, exclamdown, onesuperior, U2081, U00B9]};
- key <AE02> {[2, at, twosuperior, dead_doubleacute, U2082, U00B2]};
- key <AE03> {[3, numbersign, threesuperior, dead_macron, U2083, threesuperior]};
- key <AE04> {[4, dollar, currency, sterling, U2084, U2074]};
- key <AE05> {[5, percent, EuroSign, dead_cedilla, U2085, U2075]};
- key <AE06> {[6, dead_circumflex, onequarter, asciicircum, U2086, U2076]};
- key <AE07> {[7, ampersand, onehalf, dead_horn, U2087, U2077]};
- key <AE08> {[8, asterisk, threequarters, dead_ogonek, U2088, U2078, infinity]};
- key <AE09> {[9, parenleft, leftsinglequotemark, dead_breve, U2089, U2079]};
- key <AE10> {[0, parenright, rightsinglequotemark, dead_abovering, U2080, U2070]};
- key <AE11> {[bracketleft, braceleft, guillemotleft, leftdoublequotemark]};
- key <AE12> {[bracketright, braceright, guillemotright, rightdoublequotemark]};
-
- key <AD01> {[apostrophe, quotedbl, dead_acute, dead_diaeresis]};
- key <AD02> {[comma, less, ccedilla, Ccedilla, leftanglebracket, U2227]};
- key <AD03> {[period, greater, dead_abovedot, dead_caron, rightanglebracket, periodcentered, U2218, U2228]};
- key <AD04> {[p, P, odiaeresis, Odiaeresis, Greek_pi, Greek_PI]};
- key <AD05> {[y, Y, udiaeresis, Udiaeresis, Greek_upsilon, Greek_UPSILON]};
-
- key <AD06> {[f, F, Greek_alpha, Greek_ALPHA, Greek_phi, Greek_PHI]};
- key <AD07> {[g, G, Greek_epsilon, Greek_EPSILON, Greek_gamma, Greek_GAMMA]};
- key <AD08> {[c, C, copyright, cent, Greek_psi, Greek_PSI]};
- key <AD09> {[r, R, registered, registered, Greek_rho, Greek_RHO]};
- key <AD10> {[l, L, oslash, Ooblique, Greek_lambda, Greek_LAMBDA]};
- key <AD11> {[slash, question, questiondown, dead_hook]};
- key <AD12> {[equal, plus, multiply, division, U2295, U2297, U229B, U29FA]}; // = + × ÷ ⊕ ⊗ ⊛ ∅
-
- key <AC01> {[a, A, aacute, Aacute,
- Greek_alpha, Greek_ALPHA, U2200, U2135]};
- key <AC02> {[o, O, oacute, Oacute,
- Greek_omicron, Greek_OMICRON, U01A1, U01A0]};
- key <AC03> {[e, E, eacute, Eacute, Greek_epsilon, Greek_EPSILON]};
- key <AC04> {[u, U, uacute, Uacute, Greek_theta, Greek_THETA]};
- key <AC05> {[i, I, iacute, Iacute, Greek_iota, Greek_IOTA, U2208]};
- key <AC06> {[d, D, eth, ETH, Greek_delta, Greek_DELTA]};
-
- key <AC07> {[h, H, Greek_lambda, Greek_LAMBDA, Greek_eta, Greek_ETA]};
- key <AC08> {[t, T, thorn, THORN, Greek_tau, Greek_TAU]};
- key <AC09> {[n, N, ntilde, Ntilde, Greek_nu, Greek_NU, U2115]};
- key <AC10> {[s, S, ssharp, section, Greek_sigma, Greek_SIGMA, U017f, integral]};
- key <AC11> {[minus, underscore, yen, dead_belowdot, U2500]};
-
- key <AB01> {[semicolon, colon, paragraph, degree, Multi_key]};
- key <AB02> {[q, Q, adiaeresis, Adiaeresis]};
- key <AB03> {[j, J, idiaeresis, Idiaeresis, Greek_xi, Greek_XI]};
- key <AB04> {[k, K, oe, OE, Greek_kappa, Greek_KAPPA]};
- key <AB05> {[x, X, U2713, U2717, Greek_chi, Greek_CHI]};
- key <AB06> {[b, B, Greek_beta, U2603, Greek_beta, Greek_BETA]};
- key <AB07> {[m, M, mu, mu, Greek_mu, Greek_MU]};
- key <AB08> {[w, W, aring, Aring, Greek_finalsmallsigma]};
- key <AB09> {[v, V, U1F609, U1F620, Greek_omega, Greek_OMEGA]};
- key <AB10> {[z, Z, ae, AE, Greek_zeta, Greek_ZETA]};
-
- key <BKSL> {[backslash, bar, notsign, brokenbar, U2502]};
- key <TAB> {[Hyper_L, ISO_Left_Tab]};
- key <PRSC> {[Hyper_L, ISO_Left_Tab]};
- key <SPCE> {[space, space, U12001, U12002, U12003, U12004, U12005, U12006]};
-
- key <DOWN> {[Down, U2193, U21D3]};
- key <UP> {[Up, U2191, U21D1]};
- key <LEFT> {[Left, U2190, U21D0]};
- key <RGHT> {[Right, U2192, U21D2]};
+ key <RALT> {
+ type[Group1]="ONE_LEVEL", symbols[Group1]=[ISO_Level3_Shift]
+ };
+ modifier_map Mod5 {<RALT>, <AE08>};
- // A random key none of my keyboards have. Map it to tab so I can use xcape.
- key <JPCM> {[Tab]};
- key <RCTL> {[Hyper_R, Hyper_L]};
+ key <RTSH> {
+ symbols[Group1] = type[Group1]="ONE_LEVEL", symbols[Group1]=[ISO_Level5_Shift],
+ symbols[Group2] = []
+ };
+ modifier_map Lock {<RTSH>, <MENU>};
+
+ key <TLDE> {
+ symbols[Group1] = [grave, asciitilde, dead_grave, dead_tilde],
+ symbols[Group2] = []
+ };
+ key <AE01> {
+ symbols[Group1] = [1, exclam, exclamdown, onesuperior, U2081, U00B9],
+ symbols[Group2] = []
+ };
+ key <AE02> {
+ symbols[Group1] = [2, at, twosuperior, dead_doubleacute, U2082, U00B2],
+ symbols[Group2] = []
+ };
+ key <AE03> {
+ symbols[Group1] = [3, numbersign, threesuperior, dead_macron, U2083, threesuperior],
+ symbols[Group2] = []
+ };
+ key <AE04> {
+ symbols[Group1] = [4, dollar, currency, sterling, U2084, U2074],
+ symbols[Group2] = []
+ };
+ key <AE05> {
+ symbols[Group1] = [5, percent, EuroSign, dead_cedilla, U2085, U2075],
+ symbols[Group2] = []
+ };
+ key <AE06> {
+ symbols[Group1] = [6, dead_circumflex, onequarter, asciicircum, U2086, U2076],
+ symbols[Group2] = []
+ };
+ key <AE07> {
+ symbols[Group1] = [7, ampersand, onehalf, dead_horn, U2087, U2077],
+ symbols[Group2] = []
+ };
+ key <AE08> {
+ symbols[Group1] = [8, asterisk, threequarters, dead_ogonek, U2088, U2078, infinity],
+ symbols[Group2] = []
+ };
+ key <AE09> {
+ symbols[Group1] = [9, parenleft, leftsinglequotemark, dead_breve, U2089, U2079],
+ symbols[Group2] = []
+ };
+ key <AE10> {
+ symbols[Group1] = [0, parenright, rightsinglequotemark, dead_abovering, U2080, U2070],
+ symbols[Group2] = []
+ };
+ key <AE11> {
+ symbols[Group1] = [bracketleft, braceleft, guillemotleft, leftdoublequotemark],
+ symbols[Group2] = []
+ };
+ key <AE12> {
+ symbols[Group1] = [bracketright, braceright, guillemotright, rightdoublequotemark],
+ symbols[Group2] = []
+ };
+
+ key <AD01> {
+ symbols[Group1] = [apostrophe, quotedbl, dead_acute, dead_diaeresis],
+ symbols[Group2] = []
+ };
+ key <AD02> {
+ symbols[Group1] = [comma, less, ccedilla, Ccedilla, leftanglebracket, U2227],
+ symbols[Group2] = []
+ };
+ key <AD03> {
+ symbols[Group1] = [period, greater, dead_abovedot, dead_caron, rightanglebracket, periodcentered, U2218, U2228],
+ symbols[Group2] = []
+ };
+ key <AD04> {
+ symbols[Group1] = [p, P, odiaeresis, Odiaeresis, Greek_pi, Greek_PI],
+ symbols[Group2] = []
+ };
+ key <AD05> {
+ symbols[Group1] = [y, Y, udiaeresis, Udiaeresis, Greek_upsilon, Greek_UPSILON],
+ symbols[Group2] = []
+ };
+
+ key <AD06> {
+ symbols[Group1] = [f, F, Greek_alpha, Greek_ALPHA, Greek_phi, Greek_PHI],
+ symbols[Group2] = []
+ };
+ key <AD07> {
+ symbols[Group1] = [g, G, Greek_epsilon, Greek_EPSILON, Greek_gamma, Greek_GAMMA],
+ symbols[Group2] = []
+ };
+ key <AD08> {
+ symbols[Group1] = [c, C, copyright, cent, Greek_psi, Greek_PSI],
+ symbols[Group2] = []
+ };
+ key <AD09> {
+ symbols[Group1] = [r, R, registered, registered, Greek_rho, Greek_RHO],
+ symbols[Group2] = []
+ };
+ key <AD10> {
+ symbols[Group1] = [l, L, oslash, Ooblique, Greek_lambda, Greek_LAMBDA],
+ symbols[Group2] = [Right, Right]
+ };
+ key <AD11> {
+ symbols[Group1] = [slash, question, questiondown, dead_hook],
+ symbols[Group2] = []
+ };
+ key <AD12> {
+ symbols[Group1] = [equal, plus, multiply, division, U2295, U2297, U229B, U29FA],
+ symbols[Group2] = []
+ }; // = + × ÷ ⊕ ⊗ ⊛ ∅
+
+ key <AC01> {
+ symbols[Group1] = [a, A, aacute, Aacute, Greek_alpha, Greek_ALPHA],
+ symbols[Group2] = [ISO_Next_Group]
+ };
+ key <AC02> {
+ symbols[Group1] = [o, O, oacute, Oacute, Greek_omicron, Greek_OMICRON, U01A1, U01A0],
+ symbols[Group2] = []
+ };
+ key <AC03> {
+ symbols[Group1] = [e, E, eacute, Eacute, Greek_epsilon, Greek_EPSILON],
+ symbols[Group2] = [Right, Right],
+ actions[Group2] = [SetMods(modifiers=Control)]
+ };
+ key <AC04> {
+ symbols[Group1] = [u, U, uacute, Uacute, Greek_theta, Greek_THETA],
+ symbols[Group2] = [Prior, Prior, NoSymbol, NoSymbol, NoSymbol, NoSymbol]
+ };
+ key <AC05> {
+ symbols[Group1] = [i, I, iacute, Iacute, Greek_iota, Greek_IOTA, U2208],
+ symbols[Group2] = [ISO_Next_Group, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol]
+ };
+ key <AC05> {
+ symbols[Group1] = [i, I, iacute, Iacute, Greek_iota, Greek_IOTA, U2208],
+ symbols[Group2] = [ISO_Previous_Group]
+ };
+ key <AC06> {
+ symbols[Group1] = [d, D, eth, ETH, Greek_delta, Greek_DELTA],
+ symbols[Group2] = [Next, Next, NoSymbol, NoSymbol, NoSymbol, NoSymbol]
+ };
+ key <AC07> {
+ symbols[Group1] = [h, H, Greek_lambda, Greek_LAMBDA, Greek_eta, Greek_ETA],
+ symbols[Group2] = [Left, Left]
+ };
+ key <AC08> {
+ symbols[Group1] = [t, T, thorn, THORN, Greek_tau, Greek_TAU],
+ symbols[Group2] = []
+ };
+ key <AC09> {
+ symbols[Group1] = [n, N, ntilde, Ntilde, Greek_nu, Greek_NU, U2115],
+ symbols[Group2] = []
+ };
+ key <AC10> {
+ symbols[Group1] = [s, S, ssharp, section, Greek_sigma, Greek_SIGMA, U017f, integral],
+ symbols[Group2] = []
+ };
+ key <AC11> {
+ symbols[Group1] = [minus, underscore, yen, dead_belowdot, U2500],
+ symbols[Group2] = []
+ };
- modifier_map Mod3 {<RCTL>, <Tab>};
+ key <AB01> {
+ symbols[Group1] = [semicolon, colon, paragraph, degree, Multi_key],
+ symbols[Group2] = []
+ };
+ key <AB02> {
+ symbols[Group1] = [q, Q, adiaeresis, Adiaeresis],
+ symbols[Group2] = []
+ };
+ key <AB03> {
+ symbols[Group1] = [j, J, idiaeresis, Idiaeresis, Greek_xi, Greek_XI],
+ symbols[Group2] = [Down, Down]
+ };
+ key <AB04> {
+ symbols[Group1] = [k, K, oe, OE, Greek_kappa, Greek_KAPPA],
+ symbols[Group2] = [Up, Up]
+ };
+ key <AB05> {
+ symbols[Group1] = [x, X, U2713, U2717, Greek_chi, Greek_CHI],
+ symbols[Group2] = []
+ };
+ key <AB06> {
+ symbols[Group1] = [b, B, Greek_beta, U2603, Greek_beta, Greek_BETA],
+ symbols[Group2] = []
+ };
+ key <AB07> {
+ symbols[Group1] = [m, M, mu, mu, Greek_mu, Greek_MU],
+ symbols[Group2] = []
+ };
+ key <AB08> {
+ symbols[Group1] = [w, W, aring, Aring, Greek_finalsmallsigma],
+ symbols[Group2] = []
+ };
+ key <AB09> {
+ symbols[Group1] = [v, V, U1F609, U1F620, Greek_omega, Greek_OMEGA],
+ symbols[Group2] = []
+ };
+ key <AB10> {
+ symbols[Group1] = [z, Z, ae, AE, Greek_zeta, Greek_ZETA],
+ symbols[Group2] = []
+ };
+
+ key <BKSL> {
+ symbols[Group1] = [backslash, bar, notsign, brokenbar, U2502],
+ symbols[Group2] = []
+ };
+ key <SPCE> {
+ symbols[Group1] = [space, space, U12001, U12002, U12003, U12004, U12005, U12006],
+ symbols[Group2] = []
+ };
+
+ key <DOWN> {
+ symbols[Group1] = [Down, U2193, U21D3],
+ symbols[Group2] = []
+ };
+ key <UP> {
+ symbols[Group1] = [Up, U2191, U21D1],
+ symbols[Group2] = []
+ };
+ key <LEFT> {
+ symbols[Group1] = [Left, U2190, U21D0],
+ symbols[Group2] = []
+ };
+ key <RGHT> {
+ symbols[Group1] = [Right, U2192, U21D2],
+ symbols[Group2] = []
+ };
+
+ // A random key none of my keyboards have. Map it to tab so I can use xcape.
+ key <JPCM> {
+ symbols[Group1] = [Tab],
+ symbols[Group2] = []
+ };
};
partial alphanumeric_keys
@@ -102,25 +295,74 @@ xkb_symbols "jdvp" {
include "jr(josh-dvorak-intl)"
name[Group1]= "English (Josh, Dovark, Programmer, International)";
+ key.type = "EIGHT_LEVEL";
- 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" };
+ key <TLDE> {
+ symbols[Group1] = [dollar, asciitilde] ,
+ symbols[Group2] = [End, voidsymbol]
+ };
+ key <AE01> {
+ symbols[Group1] = [ ampersand, percent ] ,
+ symbols[Group2] = []
+ };
+ key <AE02> {
+ symbols[Group1] = [ bracketleft, 7, currency ],
+ symbols[Group2] = []
+ };
+ key <AE03> {
+ symbols[Group1] = [ braceleft, 5, cent ],
+ symbols[Group2] = []
+ };
+ key <AE04> {
+ symbols[Group1] = [ braceright, 3, yen ],
+ symbols[Group2] = []
+ };
+ key <AE05> {
+ symbols[Group1] = [ parenleft, 1, EuroSign ],
+ symbols[Group2] = []
+ };
+ key <AE06> {
+ symbols[Group1] = [ equal, 9, sterling ],
+ symbols[Group2] = []
+ };
// 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 ] };
+ key <AE07> {
+ symbols[Group1] = [asterisk, 0],
+ symbols[Group2] = [voidsymbol, Home]
+ };
+ key <AE08> {
+ symbols[Group1] = [ parenright, 2, onehalf ],
+ symbols[Group2] = []
+ };
+ key <AE09> {
+ symbols[Group1] = [ plus, 4 ],
+ symbols[Group2] = []
+ };
+ key <AE10> {
+ symbols[Group1] = [ bracketright, 6 ],
+ symbols[Group2] = []
+ };
+ key <AE11> {
+ symbols[Group1] = [ exclam, 8, exclamdown, U2E18 ],
+ symbols[Group2] = []
+ }; // reversed interrobang
+ key <AE12> {
+ symbols[Group1] = [ numbersign, grave, dead_grave ] ,
+ symbols[Group2] = []
+ };
- key <AD01> { [ semicolon, colon, dead_diaeresis ] };
- key <AD12> { [ at, asciicircum, dead_circumflex, dead_caron ] };
+ key <AD01> {
+ symbols[Group1] = [ semicolon, colon, dead_diaeresis ] ,
+ symbols[Group2] = []
+ };
+ key <AD12> {
+ symbols[Group1] = [ at, asciicircum, dead_circumflex, dead_caron ] ,
+ symbols[Group2] = []
+ };
- key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
+ key <AB01> {
+ symbols[Group1] = [ apostrophe, quotedbl, dead_acute ] ,
+ symbols[Group2] = []
+ };
};