diff options
-rw-r--r-- | jr | 126 |
1 files changed, 126 insertions, 0 deletions
@@ -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 ] }; +}; |