tmk_keyboard/keyboard/ergodox/addons/etc/layout/xkb/workman
Oleg Kostyuk a84df046df Updates to CUB's layouts
This update is mainly needed because Ergodox's layout should be as much
possible closer to original QWERTY layout, to not break XKB layout in
XOrg for Russian language.

Also, because Ergodox's switches SW5.7 and SW5.8 are not as convenient
as I'd like to - additional mappings were added on Layer7 for following
symbols: ^ ' " \
2013-09-10 04:30:46 +03:00

180 lines
8.9 KiB
Text

// workman layouts
// see http://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/
// xkb keymap prepared by Oleg Kostyuk <cub@cub.org.ua>
// copyright 2012, bsd license
// to use, copy to /usr/share/X11/xkb/symbols/workman and add the following
// lines to /usr/share/X11/xkb/symbols.dir:
//
// -dp----- a------- workman(wkm)
// --p----- a------- workman(wcp)
// --p----- a------- workman(wco)
// --p----- a------- workman(wdp)
//
// then load with, e.g.
//
// setxkbmap workman # default layout
// setxkbmap -layout workman -variant wdp # to select other variants
default
partial alphanumeric_keys
xkb_symbols "wkm" {
name[Group1] = "The Workman Keyboard Layout";
include "latin"
include "latin(nodeadkeys)"
name[Group1] = "QFMLWY - full optimization, QWERTY lettermask";
// Unmodified Shift AltGr Shift+AltGr
key <AD01> { [ q, Q, at, Greek_OMEGA ] };
key <AD02> { [ d, D, dstroke, ordfeminine ] };
key <AD03> { [ r, R, mu, masculine ] };
key <AD04> { [ w, W, lstroke, Lstroke ] };
key <AD05> { [ b, B, lstroke, Lstroke ] };
key <AD06> { [ j, J, leftarrow, yen ] };
key <AD07> { [ f, F, downarrow, uparrow ] };
key <AD08> { [ u, U, oslash, Ooblique ] };
key <AD09> { [ p, P, rightdoublequotemark, rightsinglequotemark ] };
key <AD10> { [ semicolon, colon, rightdoublequotemark, rightsinglequotemark ] };
// Unmodified Shift AltGr Shift+AltGr
key <AC01> { [ a, A, eth, ETH ] };
key <AC02> { [ s, S, ssharp, section ] };
key <AC03> { [ h, H, tslash, Tslash ] };
key <AC04> { [ t, T ] };
key <AC05> { [ g, G, paragraph, registered ] };
key <AC06> { [ y, Y, rightarrow, idotless ] };
key <AC07> { [ n, N, ae, AE ] };
key <AC08> { [ e, E, EuroSign ] };
key <AC09> { [ o, O, hstroke, Hstroke ] };
key <AC10> { [ i, I, hstroke, Hstroke ] };
// Unmodified Shift AltGr Shift+AltGr
key <AB01> { [ z, Z, guillemotleft, less ] };
key <AB02> { [ x, X, leftdoublequotemark, leftsinglequotemark ] };
key <AB03> { [ m, M, eng, ENG ] };
key <AB04> { [ c, C, cent, copyright ] };
key <AB05> { [ v, V, guillemotright, greater ] };
key <AB06> { [ k, K, thorn, THORN ] };
key <AB07> { [ l, L, kra, ampersand ] };
};
partial alphanumeric_keys
xkb_symbols "wco" {
include "workman(wkm)"
name[Group1] = "Workman for Programmers, with light modifications from cub@uanic (old)";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <TLDE> { [ asciitilde, grave, dead_grave ] };
key <AE01> { [ exclam, 1, exclamdown ] };
key <AE02> { [ braceleft, 2, currency ] };
key <AE03> { [ numbersign, 3, cent ] };
key <AE04> { [ semicolon, 4, yen ] };
key <AE05> { [ braceright, 5, EuroSign ] };
key <AE06> { [ bracketleft, 6, sterling ] };
// symbols row, right side
key <AE07> { [ ampersand, 7 ] };
key <AE08> { [ asterisk, 8, onehalf ] };
key <AE09> { [ parenleft, 9 ] };
key <AE10> { [ parenright, 0 ] };
key <AE11> { [ bracketright, percent ] };
key <AE12> { [ equal, plus ] };
key <BKSP> { [ BackSpace ] };
// upper row, right side
key <AD10> { [ dollar, at, dead_acute, dead_doubleacute ] };
key <AD11> { [ colon, asciicircum, dead_circumflex, dead_caron ] };
key <AD12> { [ apostrophe, quotedbl ] };
// home row, right side
key <AC11> { [ minus, underscore, hyphen ] };
// lower row, left side
key <LSGT> { [ greater, less, bar, brokenbar ] };
};
partial alphanumeric_keys
xkb_symbols "wcp" {
include "workman(wco)"
name[Group1] = "Workman for Programmers, with light modifications from cub@uanic";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <AE01> { [ semicolon, 1, exclamdown ] };
key <AE02> { [ exclam, 2, currency ] };
key <AE04> { [ braceleft, 4, yen ] };
// symbols row, right side
key <AE07> { [ bracketright, 7 ] };
key <AE11> { [ ampersand, percent ] };
};
partial alphanumeric_keys
xkb_symbols "wce" {
include "workman(wcp)"
name[Group1] = "Workman for Programmers, with light modifications from cub@uanic, for Ergodox";
// Unmodified Shift AltGr Shift+AltGr
key <BKSL> { [ apostrophe, quotedbl ] };
key <AE11> { [ asciicircum, backslash ] };
key <AD11> { [ colon, percent ] };
key <AC11> { [ minus, underscore, hyphen ] };
key <AD12> { [ bar, ampersand ] };
};
partial alphanumeric_keys
xkb_symbols "wdp" {
include "workman(wkm)"
name[Group1] = "Workman for Programmers, with modifications from Dvorak for programmers";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <TLDE> { [ asciitilde, grave, dead_grave ] };
key <AE01> { [ semicolon, ampersand ] };
key <AE02> { [ bracketleft, 7, currency ] };
key <AE03> { [ braceleft, 5, cent ] };
key <AE04> { [ braceright, 3, yen ] };
key <AE05> { [ parenleft, 1, EuroSign ] };
key <AE06> { [ equal, 9, sterling ] };
// symbols row, right side
key <AE07> { [ asterisk, 0 ] };
key <AE08> { [ parenright, 2, onehalf ] };
key <AE09> { [ plus, 4 ] };
key <AE10> { [ bracketright, 6 ] };
key <AE11> { [ percent, 8 ] };
key <AE12> { [ exclam, numbersign, exclamdown ] };
key <BKSP> { [ BackSpace ] };
// upper row, right side
key <AD10> { [ dollar, at, dead_acute, dead_doubleacute ] };
key <AD11> { [ colon, asciicircum, dead_circumflex, dead_caron ] };
key <AD12> { [ apostrophe, quotedbl ] };
// home row, right side
key <AC11> { [ minus, underscore, hyphen ] };
// lower row, left side
key <LSGT> { [ greater, less, bar, brokenbar ] };
};