big-bag-skylark/x-mod_v2-17-1ub1_2016-06-06/xkb/symbols/colemak

624 lines
40 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// $XKeyboardConfig$
// *****************************************************************************************
// ****** ******
// ***** Colemak layouts - additions, locales and learning steps as variants *****
// ***** by OEystein Bech "DreymaR" Gadmar, 2011-2015 *****
// ***** (The Colemak layout: Shai Coleman, 2006) *****
// ****** ******
// *****************************************************************************************
default
// Colemak symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, http://colemak.com/
partial alphanumeric_keys
xkb_symbols "cmk_standard" {
include "us"
name[Group1]= "English (Colemak)";
// Alphanumeric section
key <TLDE> { [ grave, asciitilde, dead_tilde, asciitilde ] };
key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
key <AE02> { [ 2, at, masculine, twosuperior ] };
key <AE03> { [ 3, numbersign, ordfeminine, threesuperior ] };
key <AE04> { [ 4, dollar, cent, sterling ] };
key <AE05> { [ 5, percent, EuroSign, yen ] };
key <AE06> { [ 6, asciicircum, hstroke, Hstroke ] };
key <AE07> { [ 7, ampersand, eth, ETH ] };
key <AE08> { [ 8, asterisk, thorn, THORN ] };
key <AE09> { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] };
key <AE10> { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] };
key <AE11> { [ minus, underscore, endash, emdash ] };
key <AE12> { [ equal, plus, multiply, division ] };
key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
key <AD02> { [ w, W, aring, Aring ] };
key <AD03> { [ f, F, atilde, Atilde ] };
key <AD04> { [ p, P, oslash, Ooblique ] };
key <AD05> { [ g, G, dead_ogonek, asciitilde ] };
key <AD06> { [ j, J, dstroke, Dstroke ] };
key <AD07> { [ l, L, lstroke, Lstroke ] };
key <AD08> { [ u, U, uacute, Uacute ] };
key <AD09> { [ y, Y, udiaeresis, Udiaeresis ] };
key <AD10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
key <AD11> { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] };
key <AD12> { [ bracketright, braceright, guillemotright, 0x100203a ] };
key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] };
key <AC01> { [ a, A, aacute, Aacute ] };
key <AC02> { [ r, R, dead_grave, asciitilde ] };
key <AC03> { [ s, S, ssharp, asciitilde ] };
key <AC04> { [ t, T, dead_acute, dead_doubleacute ] };
key <AC05> { [ d, D, dead_diaeresis, asciitilde ] };
key <AC06> { [ h, H, dead_caron, asciitilde ] };
key <AC07> { [ n, N, ntilde, Ntilde ] };
key <AC08> { [ e, E, eacute, Eacute ] };
key <AC09> { [ i, I, iacute, Iacute ] };
key <AC10> { [ o, O, oacute, Oacute ] };
key <AC11> { [ apostrophe, quotedbl, otilde, Otilde ] };
key <AB01> { [ z, Z, ae, AE ] };
key <AB02> { [ x, X, dead_circumflex, asciitilde ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, oe, OE ] };
key <AB05> { [ b, B, dead_breve, asciitilde ] };
key <AB06> { [ k, K, dead_abovering, asciitilde ] };
key <AB07> { [ m, M, dead_macron, asciitilde ] };
key <AB08> { [ comma, less, dead_cedilla, asciitilde ] };
key <AB09> { [ period, greater, dead_abovedot, asciitilde ] };
key <AB10> { [ slash, question, questiondown, asciitilde ] };
key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
key <LSGT> { [ minus, underscore, endash, emdash ] };
key <SPCE> { [ space, space, space, nobreakspace ] };
include "level3(ralt_switch)"
};
// *****************************************************************************************
// ****** ******
// ***** START of DreymaR's Colemak additions (Cmk[eD], Tarmak1-4, National var.) *****
// ****** ******
// *****************************************************************************************
// ******************************************************
// ***** DreymaR: Colemak - edition DreymaR *****
// ******************************************************
// 'Colemak - edition DreymaR' symbols for xkb on X.Org Server 7.x
// 2006-01-01 Shai Coleman, http://colemak.com/
// 2012-01-01 OEystein Bech "DreymaR" Gadmar: New shift levels 3-4.
// See "DreymaR's Big Bag of Keyboard Tricks": http://forum.colemak.com/viewtopic.php?pid=9918
// NOTE: DreymaR's design goals for tweaking the standard Colemak:
// - Keeping level 1-2 of Colemak intact! This is what I think of as the Colemak layout per se.
// - Dead keys easily accessible as unshifted AltGr+symbol keys; common ones in good positions.
// - Added symbols/glyphs similar to, e.g., Mac ones - allowing common math/tech/etc typing.
// - Added letters/quotes allowing many of the major latin scripts to be written correctly.
// - The positions of added letters and symbols should as far as possible be easy to remember!
// - Modularity allows flexible layout definition using different modifier keys and symbols
// * The symbol keys and number row may be kept unchanged in national variant setups
// * Since Colemak moves the semicolon key it has to go in the letter block though.
// - The brackets (lvl3-4) and the LSGT key may hold the most common locale-specific keys.
// * The letters on LBr/RBr/LSGT may well be replaced; these should also be on dead keys.
// * Also, keys with non-essential mappings (like h/j/k/l) are up for grabs if need be.
// * See the colemak_template symbols file for more info on local Colemak[eD] variants.
// TODO: All mapped keys lose their repeat behavior; this needs to be fixed!
// It appears to be independent of layout (and extend) mappings though?
partial alphanumeric_keys
xkb_symbols "cmk_ed" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
name[Group1]= "English/Intl (Colemak, edition DreymaR)";
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_ed_letters" {
// Alphanumeric section (letter keys and semicolon)
key <AD01> { [ q, Q, singlelowquotemark, doublelowquotemark ] }; // QWE/Cmk Q
key <AD02> { [ w, W, leftsinglequotemark, leftdoublequotemark ] }; // QWE/Cmk W
key <AD03> { [ f, F,rightsinglequotemark,rightdoublequotemark ] }; // QWE E Cmk F
key <AD04> { [ p, P, Greek_pi, paragraph ] }; // QWE R Cmk P
key <AD05> { [ g, G, eng, ENG ] }; // QWE T Cmk G
key <AD06> { [ j, J, U0283, U01A9 ] }; // QWE Y Cmk J
key <AD07> { [ l, L, lstroke, Lstroke ] }; // QWE U Cmk L
key <AD08> { [ u, U, U2039, guillemotleft ] }; // QWE I Cmk U
key <AD09> { [ y, Y, U203A, guillemotright ] }; // QWE O Cmk Y
key <AD10> { [ semicolon, colon, dead_diaeresis, ellipsis ] }; // QWE P Cmk ;:
// U2039/203A single guillemets; U0283/01A9 esh/ESH
key <AC01> { [ a, A, ae, AE ] }; // QWE/Cmk A
key <AC02> { [ r, R, registered, trademark ] }; // QWE S Cmk R
key <AC03> { [ s, S, ssharp, section ] }; // QWE D Cmk S
key <AC04> { [ t, T, thorn, THORN ] }; // QWE F Cmk T
key <AC05> { [ d, D, eth, ETH ] }; // QWE G Cmk D
key <AC06> { [ h, H, hstroke, Hstroke ] }; // QWE/Cmk H
key <AC07> { [ n, N, endash, leftarrow ] }; // QWE J Cmk N
key <AC08> { [ e, E, EuroSign, uparrow ] }; // QWE K Cmk E
key <AC09> { [ i, I, emdash, rightarrow ] }; // QWE L Cmk I
key <AC10> { [ o, O, masculine, ordfeminine ] }; // QWE ; Cmk O
//
key <AB01> { [ z, Z, U0292, U01B7 ] }; // QWE/Cmk Z
key <AB02> { [ x, X, dagger, doubledagger ] }; // QWE/Cmk X
key <AB03> { [ c, C, copyright, cent ] }; // QWE/Cmk C
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE/Cmk B
key <AB06> { [ k, K, ccedilla, Ccedilla ] }; // QWE N Cmk K
key <AB07> { [ m, M, multiply, downarrow ] }; // QWE/Cmk M
// U0292/01B7 ezh/EZH
//// NOTE: Activating the line below will "hard" enable the Curl-Dvbg/Hm mod by Stevep99; see below.
// include "colemak(cmk_dvbg-hm_ed)"
//// NOTE: This is my lighter Curl-Dbg/Hk Colemak ergo mod, keeping V and M in place.
// include "colemak(cmk_dbg-hk_ed)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_ed_symbols" {
// Alphanumeric section (number/symbol keys)
key <TLDE> { [ grave, asciitilde, dead_tilde, U2248 ] }; // `~
key <AE01> { [ 1, exclam, dead_belowdot, exclamdown ] }; // 1
key <AE02> { [ 2, at, dead_hook, twosuperior ] }; // 2
key <AE03> { [ 3, numbersign, dead_horn, threesuperior ] }; // 3
key <AE04> { [ 4, dollar, dead_currency, sterling ] }; // 4
key <AE05> { [ 5, percent, mu, U2030 ] }; // 5
key <AE06> { [ 6, asciicircum, dead_circumflex, partialderivative ] }; // 6
key <AE07> { [ 7, ampersand, dead_caron, notsign ] }; // 7
key <AE08> { [ 8, asterisk, dead_ogonek, infinity ] }; // 8
key <AE09> { [ 9, parenleft, dead_breve, periodcentered ] }; // 9
key <AE10> { [ 0, parenright, dead_abovering, degree ] }; // 0
key <AE11> { [ minus, underscore, dead_macron, plusminus ] }; // -_
key <AE12> { [ equal, plus, dead_doubleacute, notequal ] }; // =+
// U2248 approx equal; U2030 per mille
key <AD11> { [ bracketleft, braceleft, aring, Aring ] }; // [{
key <AD12> { [ bracketright, braceright, dstroke, Greek_alpha ] }; // ]}
//
key <AC11> { [ apostrophe, quotedbl, dead_acute, U2032 ] }; // '"
key <BKSL> { [ backslash, bar, dead_grave, brokenbar ] }; // \|
// U2032 prime
key <LSGT> { [ oe, OE, oslash, Ooblique ] }; // <>
key <AB08> { [ comma, less, dead_cedilla, lessthanequal ] }; // ,
key <AB09> { [ period, greater, dead_abovedot, greaterthanequal ] }; // .
key <AB10> { [ slash, question, dead_stroke, questiondown ] }; // /?
//
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
// NOTE: In Linux, CapsLock is tweaked in the Keyboard settings (for freedom of choice etc.)
// key <CAPS> { [ BackSpace, BackSpace, Caps_Lock, Caps_Lock ] };
};
// NOTE:
// - Missing: U017F long s; chevrons; horizconnector; wynn/yogh; some African
// d-tail; turned Cc/Ee++; latin epsilon/gamma (Berber); italic v;
// - Rare/dropped: U25CA lozenge (Mac; rare); kra (deprecated Inuktitut & IPA);
// union/intersection/includedin; integral (need a science/math deadkey; use esh in a pinch);
// numerosign (mostly Cyrillic; use N + masc.); squareroot (unworkable); function (use hook-f);
// U1E9E Capital German SS (disputed); U2033/U2032 double-/prime (cheat w/ acute/doubleacute?!)
// U2639/U263A/U27E8/27E9 sadface/smilingface/brackets (poorly implemented)
// - Oddly placed?: 'notsign'/'division' (placed by shape/association)?
// TODO: Compose/deadkeys: ligatures (fi/fl/ij); fractions/superior/subscripts; latin/IPA/currencies
// - For Currency: U2044 solidus/shilling; yen
// - For IPA/Latin: U026A/028F SmCap-I/Y; U0251/0252 script-a/turned-script-a; U0283 esh
// U028A lat-upsilon; U027E r-flap; U0294 glottal stop; U025C turned open e
// TODO: Make dead_stroke (for d/g/h/l/i/u) work!? Missing in compose files?
// Also, l-tilde, s/c/j/z/schwa hook?
// TODO: Unused dead_keys: iota, voiced_sound, semivoiced_sound
// (could enhance them like Colemak user 'ghen' suggests, for keys 3/4/5?):
// TODO: A Maths/science dead key? Latin/IPA? Greek? (Currency exists)
// TODO: Add superior/subscript # to dead_acute/grave; fractions to slash/stroke!?
// NB: This happens in the compose files under X11/locale, of which there are legion. :(
// Can one get away with changing only the various iso8859-# ones? Or just en_US.UTF-8 ?
// Since this lies outside the xkb folder, I might just post the code and where to paste it?
// TODO: For extra dead key mappings, could dead_abovering and dead_doubleacute be augmented?
// Make sure dead_hook has rhotic hooks for schwa and turned epsilon!
// Similarly with smallcap letters and their turned counterparts?
// TODO: Add IPA (broad English?) somewhere. Too few free slots, so it'll have to be by dead_keys.
// DONE: Add Greek, Kyrillic and Hebrew phonetic Colemak layouts (nice for group 'switch' layout).
// DONE: Update the Tarmak and Mirrored layouts when Colemak[eD] is changed, using search-replace.
// ******************************************************
// ***** DreymaR/Stevep99: Curl-DH ergonomic mods *****
// ******************************************************
// Here are the Colemak "Curl-D/H" ergo mods by colemak forum users stevep99 and myself.
// See http://colemakmods.github.io/mod-dh/ and http://forum.colemak.com/viewtopic.php?id=1942 for more info.
// • Stevep99's Dvbg left-hand mod gives the D a good bottom-row place (<AB04>) at the cost of V and B.
// • DreymaR's Dbg left-hand variant is lighter and avoids separating V by replacing B with D directly.
// Both left-hand mods put the G back in its QWERTY place at the lesser cost of the less frequent B.
// For the D(v)bg mod to work as intended, an Angle mod (such as the pc105awide-sl model) is necessary!
// • Stevep99's Hm right-hand mod gives H a good bottom-row position at the cost of M.
// • DreymaR's Hk right-hand variant avoids moving M, swapping H and K instead.
// The Dbg/Hk mods are intended for normal-staggered keyboards; Dvbg/Hm works on matrix boards too.
// The Hk/Hm switches cause lv3-4 trouble with Cmk[eD] locales that remap H (and in rare cases, D(v)bg w/ D/G).
// In the Hk/Hm mods, any H in symbols/locale 'cmk_ed_us' sections must change from <AC06> to <AB06>/<AB07>.
// NOTE: The Curl-DH mod are implemented both as US English layouts and as options (e.g., misc:cmk_curl_dbghk).
hidden partial alphanumeric_keys
xkb_symbols "cmk_dvbg-hm_ed" {
// This is the Curl-DvbgHm ergo mod for Colemak, by stevep99.
include "colemak(cmk_dvbg_ed)"
include "colemak(cmk_hm_ed)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dbg-hk_ed" {
// This is the Curl-DbgHk ergo mod for Colemak, by DreymaR, keeping V and M in place.
include "colemak(cmk_dbg_ed)"
include "colemak(cmk_hk_ed)"
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dvbg_ed" {
// This is the 'Dvbg' loop for the Colemak Curl-D/H ergo mod by stevep99.
key <AD05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE T Cmk G
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
key <AB04> { [ d, D, eth, ETH ] }; // QWE/Cmk V
key <AB05> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk B
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_dbg_ed" {
// This is the 'Dbg' loop for the Colemak Curl-D/H ergo mod, leaving the V in place.
key <AD05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE T Cmk G
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
key <AB05> { [ d, D, eth, ETH ] }; // QWE/Cmk B
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_hm_ed" {
// This is the 'Hm' switch for the Colemak Curl-D/H ergo mod by stevep99.
// N isn't changed in this mod, but the Cmk[eD] arrow symbols are rearranged into a Vim-like line!
key <AC06> { [ m, M, multiply, leftarrow ] }; // QWE/Cmk H
key <AC07> { [ n, N, endash, downarrow ] }; // QWE J Cmk N
key <AB07> { [ h, H, hstroke, Hstroke ] }; // QWE/Cmk M
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_hk_ed" {
// This is the 'Hk' switch for the Colemak Curl-D/H ergo mod, leaving the M in place.
key <AC06> { [ k, K, ccedilla, Ccedilla ] }; // QWE/Cmk H
key <AB06> { [ h, H, hstroke, Hstroke ] }; // QWE N Cmk K
};
// ******************************************************
// ***** DreymaR: Tarmak - Transitional Colemak *****
// ******************************************************
// Tarmak symbols for xkb on X.Org Server 7.x
// 2012-01-01 OEystein Bech "DreymaR" Gadmar: Paving the way; 'Tarmak (transitional Colemak)'.
// See "DreymaR's Big Bag of Keyboard Tricks": http://forum.colemak.com/viewtopic.php?pid=9918
// 2006-01-01 Shai Coleman, http://colemak.com/
// This section defines the differences between a full Colemak[eD] and the first Tarmak layout step.
// The Tarmak1(E) step moves the E>K>N keys to their Colemak positions, leaving the J at QWERTY 'E'.
partial alphanumeric_keys
xkb_symbols "tarmak1_e" {
include "colemak(cmk_ed)"
// To exclude the partial (F)EKNJ loop in this step, include its mask and comment out the F-J line below
// (This would only be useful if you want to learn the LUI loop as a warmup; if so, comment out that too)
//include "colemak(tarmak_mask_fekn_to_eknj)"
include "colemak(tarmak_mask_dgt_to_gtf)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
key <AD03> { [ j, J, U0283, U01A9 ] }; // Cmk F - stray J
name[Group1]= "English/Intl (Tarmak1_E - Colemak transitional)";
};
// This is the first Tarmak step for those who want to learn the Curl-DbgHk mod; it includes the Curl-Hk mod.
// There is no step for the Curl-Hm mod, as it doesn't affect the first Tarmak step. It can be learnt independently.
partial alphanumeric_keys
xkb_symbols "tarmak1k_e" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_dgt_to_gtf)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
include "colemak(cmk_hk_ed)"
key <AD03> { [ j, J, U0283, U01A9 ] }; // Cmk F - stray J
// NOTE: Re-enforcing of the V and B keys as below is only necessary when running a DBG/DVBG mod (see above)
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ b, B, enfilledcircbullet, Greek_beta ] }; // QWE/Cmk B
name[Group1]= "English/Intl (Tarmak1k_E - Colemak transitional w/ Curl-Hk)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak2(ET) step moves the G>T>F keys to their Colemak positions, leaving the J at QWERTY 'G'.
partial alphanumeric_keys
xkb_symbols "tarmak2_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
key <AC05> { [ j, J, U0283, U01A9 ] }; // Cmk D - stray J
name[Group1]= "English/Intl (Tarmak2_ET - Colemak transitional)";
};
// The Tarmak2bk(ET) step moves the B>T>F keys to their Colemak-Curl(DbgHk) positions, leaving the J at QWERTY 'B'.
partial alphanumeric_keys
xkb_symbols "tarmak2bk_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
//// For the Curl-DbgHk mod, both sides are activated at this point forward. (Activate it normally for step 34.)
include "colemak(cmk_dbg-hk_ed)"
key <AB04> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk V
key <AB05> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk B - stray J
name[Group1]= "English/Intl (Tarmak2bk_ET - Colemak transitional w/ Curl-DbgHk)";
};
// The Tarmak2vm(ET) step moves the B>T>F keys to their Colemak-Curl(DvbgHm) positions, leaving the J at QWERTY 'B'.
partial alphanumeric_keys
xkb_symbols "tarmak2vm_et" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
include "colemak(tarmak_mask_lui_to_uil)"
//// NOTE: The below is for DBG/DVBG mods (VJ/JV on <AB04>/<AB05> respectively)
//// For the Curl-DvbgHm mod, activating the right-hand HM switch is still optional.
include "colemak(cmk_dvbg_ed)"
// include "colemak(cmk_dvbg-hm_ed)"
key <AB04> { [ j, J, U0283, U01A9 ] }; // QWE/Cmk V - stray J
key <AB05> { [ v, V, division, Greek_gamma ] }; // QWE/Cmk B
name[Group1]= "English/Intl (Tarmak2vm_ET - Colemak transitional w/ Curl-DvbgHm)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak3(ETR) step moves the R>S>D keys to their Colemak positions, leaving the J at QWERTY 'R'.
partial alphanumeric_keys
xkb_symbols "tarmak3_etr" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_jyoc_to_yocp)"
// To include the standalone LUI loop in this or any step, comment out its mask (below)
include "colemak(tarmak_mask_lui_to_uil)"
key <AD04> { [ j, J, U0283, U01A9 ] }; // Cmk P - stray J
name[Group1]= "English/Intl (Tarmak3_ETR - Colemak transitional)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak4(ETRO) step moves the L>U>I keys to their Colemak positions, finalizing the big loop.
// This is the 4th step of the Tarmak(ETROI) and (ETORI) variants, leaving only the LUI loop.
partial alphanumeric_keys
xkb_symbols "tarmak4_etro" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_lui_to_uil)"
name[Group1]= "English/Intl (Tarmak4_ETRO - Colemak transitional)";
};
// NOTE: The Tarmak(ETO) and (ETOI) steps below are the old defaults. They won't show up in the menus anymore.
// A quick way of getting them back would be to edit the xkb_symbols names of steps 3 and 4 here.
// A more proper way would be to edit the rules/evdev.xml and evdev.lst files,
// replacing 'tarmak3_etr' with 'tarmak3_eto' and likewise for '4_etro'/'4_etoi',
// and finally editing the corresponding entries in the 'us' symbols file.
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak3(ETO) step moves the J>Y>O keys to their Colemak positions, leaving the ; at QWERTY 'G'.
// This is the 3rd step of the Tarmak(ETOIR) and (ETORI) variants, performing the JYO loop earlier.
partial alphanumeric_keys
xkb_symbols "tarmak3_eto" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
// To include the standalone LUI loop in this step, comment out its mask below
include "colemak(tarmak_mask_lui_to_uil)"
key <AD10> { [ p, P, Greek_pi, paragraph ] }; // Cmk ;:
key <AC05> { [ semicolon, colon, dead_diaeresis, ellipsis ] }; // Cmk D - stray ;:
name[Group1]= "English/Intl (Tarmak3_ETO - Colemak transitional)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for one Tarmak step.
// The Tarmak4(ETOI) step moves the L>U>I keys to their Colemak positions, stranding the ; at QWERTY 'G'.
// This is the 4th step of the Tarmak(ETOIR) variant, performing the LUI loop earlier.
partial alphanumeric_keys
xkb_symbols "tarmak4_etoi" {
include "colemak(cmk_ed)"
include "colemak(tarmak_mask_prs_to_rsd)"
// The standalone LUI loop is included in this step; if unwanted here, include its mask instead
key <AD10> { [ p, P, Greek_pi, paragraph ] }; // Cmk ;:
key <AC05> { [ semicolon, colon, dead_diaeresis, ellipsis ] }; // Cmk D - stray ;:
name[Group1]= "English/Intl (Tarmak4_ETOI - Colemak transitional)";
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for the partial (F)EKNJ loop.
hidden partial alphanumeric_keys
xkb_symbols "tarmak_mask_fekn_to_eknj" {
key <AD03> { [ e, E, EuroSign, uparrow ] }; // QWE E Cmk F
key <AC08> { [ k, K, ccedilla, Ccedilla ] }; // QWE K Cmk E
key <AB06> { [ n, N, endash, leftarrow ] }; // QWE N Cmk K
key <AC07> { [ j, J, U0283, U01A9 ] }; // QWE J Cmk N
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for the partial (D)GTF loop.
hidden partial alphanumeric_keys
xkb_symbols "tarmak_mask_dgt_to_gtf" {
key <AC05> { [ g, G, eng, ENG ] }; // QWE G Cmk D
key <AD05> { [ t, T, thorn, THORN ] }; // QWE T Cmk G
key <AC04> { [ f, F,rightsinglequotemark,rightdoublequotemark ] }; // QWE F Cmk T
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for the partial (P)RSD loop.
hidden partial alphanumeric_keys
xkb_symbols "tarmak_mask_prs_to_rsd" {
key <AD04> { [ r, R, registered, trademark ] }; // QWE R Cmk P
key <AC02> { [ s, S, ssharp, section ] }; // QWE S Cmk R
key <AC03> { [ d, D, eth, ETH ] }; // QWE D Cmk S
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for the partial (J)YO;P loop.
hidden partial alphanumeric_keys
xkb_symbols "tarmak_mask_jyoc_to_yocp" {
key <AD06> { [ y, Y, U203A, guillemotright ] }; // QWE Y Cmk J
key <AD09> { [ o, O, masculine, ordfeminine ] }; // QWE O Cmk Y
key <AC10> { [ semicolon, colon, dead_diaeresis, ellipsis ] }; // QWE ; Cmk O
key <AD10> { [ p, P, Greek_pi, paragraph ] }; // QWE P Cmk ;
};
// Tarmak symbols for xkb on X.Org Server 7.x
// See the first Tarmak layout above for more info. This is a QWERTY mask for the standalone LUI loop.
hidden partial alphanumeric_keys
xkb_symbols "tarmak_mask_lui_to_uil" {
key <AD07> { [ u, U, U2039, guillemotleft ] }; // QWE U Cmk L
key <AD08> { [ i, I, emdash, rightarrow ] }; // QWE I Cmk U
key <AC09> { [ l, L, lstroke, Lstroke ] }; // QWE L Cmk I
};
// ******************************************************
// ***** DreymaR: Mirrored Colemak (Symbols) *****
// ******************************************************
// Mirrored Colemak[eD] symbols for xkb on X.Org Server 7.x
// 2012-03-01 OEystein Bech "DreymaR" Gadmar: Mirrored Colemak layouts for single-handed typing.
// See "DreymaR's Big Bag of Keyboard Tricks": http://forum.colemak.com/viewtopic.php?pid=9918
// 2006-01-01 Shai Coleman, http://colemak.com/
// NOTE: Some adventurous souls might want to try the mirrored Colemak as a main layout?
// (They say it's more similar to Dvorak that way.) However, it's meant for one-handed typing.
// To use it as a standalone layout, you'll want to take out the remapping of special keys.
// Ideally, mirrored keyboarding ought to be done in the keyboard setup (Keylayout) component.
// That way it'd be independent on the chosen symbols layout, like my Angle/Wide mods.
// However, single-handed typing requires the use of a chooser key (like with the Extend mod).
// This is ttbomk currently only supported by the Symbols xkb component.
// Within this limitation, looks like an Overlay should be the best option?
// However (again!), ttbomk this isn't all that well implemented in xkb?
// Using a Group setup, just add the mirrored Colemak[eD] as your next layout (usually Group 2).
// Then you may choose between a slew of "key(s) to change layout (while pressed)" options!
// This does compromise your group options a bit (if you need to use non-latin layouts etc).
// If that bothers you, consider using both 'next' and 'last' layout groups with chooser keys.
// See for instance the Canadian(Multilingual) layout for an example; they choose with RCtrl.
// NOTE: This is made for the AWide-Slash (Wide35) keyboard mod (for bracket key access etc).
// Using it with another keyboard will be messy! I couldn't separate mirroring from the rest.
// The backslash is provided both on the <LSGT> key and on <ESC> (for ANSI keyboards).
// Included are pre-made options for RAlt and LAlt choosing. Use either one or set a key yourself.
// The below implementations are silly since they show how to choose AWAY the cmk_ed_mirror!
// Use Ubuntu: 'Keyboard Layout'->'Options'->'key(s) to change layout (while pressed)'.
// Using the group(switch) map, the right alt key temporarily chooses next group until released.
partial alphanumeric_keys
xkb_symbols "cmk_ed_mirror_ralt" {
include "colemak(cmk_ed_mirror)"
include "group(switch)" //group(lswitch) for LAlt
name[Group1]= "English/Intl (Colemak mirrored, edition DreymaR, RAlt escapes)";
};
partial
xkb_symbols "cmk_ed_mirror" {
include "colemak(cmk_ed_mirror_letters)"
include "colemak(cmk_ed_mirror_symbols)"
include "colemak(cmk_ed_mirror_special)"
name[Group1] = "English/Intl (Colemak[eD], mirrored)";
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_ed_mirror_letters" {
// Alphanumeric section (letter keys and semicolon)
key <AD10> { [ q, Q, singlelowquotemark, doublelowquotemark ] };
key <AD09> { [ w, W, leftsinglequotemark, leftdoublequotemark ] };
key <AD08> { [ f, F,rightsinglequotemark,rightdoublequotemark ] };
key <AD07> { [ p, P, Greek_pi, paragraph ] };
key <AD06> { [ g, G, eng, ENG ] };
key <AD05> { [ j, J, U0283, U01A9 ] };
key <AD04> { [ l, L, lstroke, Lstroke ] };
key <AD03> { [ u, U, U2039, guillemotleft ] };
key <AD02> { [ y, Y, U203A, guillemotright ] };
key <AD01> { [ semicolon, colon, dead_diaeresis, ellipsis ] };
key <AC10> { [ a, A, ae, AE ] };
key <AC09> { [ r, R, registered, trademark ] };
key <AC08> { [ s, S, ssharp, section ] };
key <AC07> { [ t, T, thorn, THORN ] };
key <AC06> { [ d, D, eth, ETH ] };
key <AC05> { [ h, H, hstroke, Hstroke ] };
key <AC04> { [ n, N, endash, leftarrow ] };
key <AC03> { [ e, E, EuroSign, uparrow ] };
key <AC02> { [ i, I, emdash, rightarrow ] };
key <AC01> { [ o, O, masculine, ordfeminine ] };
key <AB10> { [ z, Z, U0292, U01B7 ] };
key <AB09> { [ x, X, dagger, doubledagger ] };
key <AB08> { [ c, C, copyright, cent ] };
key <AB07> { [ v, V, division, Greek_gamma ] };
key <AB06> { [ b, B, enfilledcircbullet, Greek_beta ] };
key <AB05> { [ k, K, ccedilla, Ccedilla ] };
key <AB04> { [ m, M, multiply, downarrow ] };
};
hidden partial alphanumeric_keys
xkb_symbols "cmk_ed_mirror_symbols" {
// Alphanumeric section (number/symbol keys)
// TODO: Make the <BSKP> 4-level for this mod; others?
key <BKSP> { [ grave, asciitilde, dead_tilde, U2248 ] };
key <AE12> { [ equal, plus, dead_doubleacute, notequal ] };
key <AE11> { [ 1, exclam, dead_belowdot, exclamdown ] };
key <AE10> { [ 2, at, dead_hook, twosuperior ] };
key <AE09> { [ 3, numbersign, dead_horn, threesuperior ] };
key <AE08> { [ 4, dollar, currency, sterling ] };
key <AE07> { [ 5, percent, mu, U2030 ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, partialderivative ] };
key <AE05> { [ 7, ampersand, dead_caron, notsign ] };
key <AE04> { [ 8, asterisk, dead_ogonek, infinity ] };
key <AE03> { [ 9, parenleft, dead_breve, periodcentered ] };
key <AE02> { [ 0, parenright, dead_abovering, degree ] };
key <AE01> { [ minus, underscore, dead_macron, plusminus ] };
// key <AD11> { [ bracketleft, braceleft, aring, Aring ] };
// key <AD12> { [ bracketright, braceright, dstroke, Greek_alpha ] };
key <AB03> { [ comma, less, dead_cedilla, lessthanequal ] };
key <AB02> { [ period, greater, dead_abovedot, greaterthanequal ] };
key <AB01> { [ slash, question, dead_stroke, questiondown ] };
key <LSGT> { [ oe, OE, oslash, Ooblique ] };
key <BKSL> { [ backslash, bar, dead_grave, brokenbar ] };
key <ESC> { [ backslash, bar, dead_grave, brokenbar ] };
key <AC11> { [ apostrophe, quotedbl, dead_acute, U2032 ] };
key <CAPS> { [ apostrophe, quotedbl, dead_acute, U2032 ] };
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
};
hidden partial
xkb_symbols "cmk_ed_mirror_special" {
// Tab/Back/Enter/Esc/Alt(?) keys for a mirrored layout (ignoring the duplex Shift and Ctrl)
key <TLDE> { [ BackSpace ] };
key <TAB> { [ Return, Return ] };
key <AD11> { [ Escape ] }; // Esc is often mapped to <AD11> (usually with Crtl)
key <AD12> { [ Caps_Lock ] };
key <RTRN> { [ Tab, ISO_Left_Tab ] };
// key <ALT> { [ ISO_Right_Alt ] }; //NOTE: If this doesn't work, add SetMods
// key <RALT> { [ Alt_L ] }; //NOTE: If this doesn't work, add SetMods
key <FK01> { [ F12 ] };
key <FK02> { [ F11 ] };
key <FK03> { [ F10 ] };
key <FK04> { [ F9 ] };
key <FK05> { [ F8 ] };
key <FK06> { [ F7 ] };
key <FK07> { [ F6 ] };
key <FK08> { [ F5 ] };
key <FK09> { [ F4 ] };
key <FK10> { [ F3 ] };
key <FK11> { [ F2 ] };
key <FK12> { [ F1 ] };
};
// ******************************************************
// ***** DreymaR: Colemak[eD] - National variants *****
// ***** are in colemak_template - copy to a new *****
// ***** file and find/replace <LANGUAGE>/<LL> *****
// ******************************************************
// *****************************************************************************************
// ****** ******
// ***** END of DreymaR's Colemak additions (Cmk[eD], Tarmak1-4, National var.) *****
// ****** ******
// *****************************************************************************************