180 lines
8.9 KiB
Text
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 <AD11> { [ apostrophe, quotedbl ] };
|
|
key <AD12> { [ asciicircum, backslash ] };
|
|
key <AC11> { [ colon, percent ] };
|
|
key <AE11> { [ underscore, minus, hyphen ] };
|
|
key <BKSL> { [ 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 ] };
|
|
};
|
|
|