summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jr126
1 files changed, 126 insertions, 0 deletions
diff --git a/jr b/jr
new file mode 100644
index 0000000..aba3983
--- /dev/null
+++ b/jr
@@ -0,0 +1,126 @@
+// Josh's Dvorak Keyboard Layout Some xtra stuff.
+// Josh Rahm (joshuarahm@gmail.com)
+
+
+partial alphanumeric_keys
+xkb_symbols "josh-dvorak-intl" {
+ name[Group1]= "English (Josh, Dvorak, international with dead keys)";
+
+ 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]};
+
+ 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]};
+
+ // 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]};
+
+ modifier_map Mod3 {<RCTL>, <Tab>};
+};
+
+partial alphanumeric_keys
+xkb_symbols "jdvp" {
+ include "jr(josh-dvorak-intl)"
+
+ name[Group1]= "English (Josh, Dovark, Programmer, International)";
+
+ 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 ] };
+
+ key <AD01> { [ semicolon, colon, dead_diaeresis ] };
+ key <AD12> { [ at, asciicircum, dead_circumflex, dead_caron ] };
+
+ key <AB01> { [ apostrophe, quotedbl, dead_acute ] };
+};