]> git.friedersdorff.com Git - max/tmk_keyboard.git/blob - keyboard/ergodox/addons/etc/layout/xkb/workman
Add a qwerty layer
[max/tmk_keyboard.git] / keyboard / ergodox / addons / etc / layout / xkb / workman
1 // workman layouts
2 // see http://viralintrospection.wordpress.com/2010/09/06/a-different-philosophy-in-designing-keyboard-layouts/
3
4 // xkb keymap prepared by Oleg Kostyuk <cub@cub.org.ua>
5 // copyright 2012, bsd license
6
7
8 // to use, copy to /usr/share/X11/xkb/symbols/workman and add the following
9 // lines to /usr/share/X11/xkb/symbols.dir:
10 //
11 //     -dp----- a------- workman(wkm)
12 //     --p----- a------- workman(wcp)
13 //     --p----- a------- workman(wco)
14 //     --p----- a------- workman(wdp)
15 //
16 // then load with, e.g.
17 //
18 //     setxkbmap workman                            # default layout
19 //     setxkbmap -layout workman -variant wdp       # to select other variants
20
21
22 default
23 partial alphanumeric_keys
24 xkb_symbols "wkm" {
25
26     name[Group1] = "The Workman Keyboard Layout";
27
28     include "latin"
29     include "latin(nodeadkeys)"
30
31     name[Group1] = "QFMLWY - full optimization, QWERTY lettermask";
32
33     //              Unmodified  Shift       AltGr                   Shift+AltGr
34     key <AD01>  { [ q,          Q,          at,                     Greek_OMEGA          ] };
35     key <AD02>  { [ d,          D,          dstroke,                ordfeminine          ] };
36     key <AD03>  { [ r,          R,          mu,                     masculine            ] };
37     key <AD04>  { [ w,          W,          lstroke,                Lstroke              ] };
38     key <AD05>  { [ b,          B,          lstroke,                Lstroke              ] };
39     key <AD06>  { [ j,          J,          leftarrow,              yen                  ] };
40     key <AD07>  { [ f,          F,          downarrow,              uparrow              ] };
41     key <AD08>  { [ u,          U,          oslash,                 Ooblique             ] };
42     key <AD09>  { [ p,          P,          rightdoublequotemark,   rightsinglequotemark ] };
43     key <AD10>  { [ semicolon,  colon,      rightdoublequotemark,   rightsinglequotemark ] };
44
45     //              Unmodified  Shift       AltGr                   Shift+AltGr
46     key <AC01>  { [ a,          A,          eth,                    ETH                  ] };
47     key <AC02>  { [ s,          S,          ssharp,                 section              ] };
48     key <AC03>  { [ h,          H,          tslash,                 Tslash               ] };
49     key <AC04>  { [ t,          T                                                        ] };
50     key <AC05>  { [ g,          G,          paragraph,              registered           ] };
51     key <AC06>  { [ y,          Y,          rightarrow,             idotless             ] };
52     key <AC07>  { [ n,          N,          ae,                     AE                   ] };
53     key <AC08>  { [ e,          E,          EuroSign                                     ] };
54     key <AC09>  { [ o,          O,          hstroke,                Hstroke              ] };
55     key <AC10>  { [ i,          I,          hstroke,                Hstroke              ] };
56
57     //              Unmodified  Shift       AltGr                   Shift+AltGr
58     key <AB01>  { [ z,          Z,          guillemotleft,          less                 ] };
59     key <AB02>  { [ x,          X,          leftdoublequotemark,    leftsinglequotemark  ] };
60     key <AB03>  { [ m,          M,          eng,                    ENG                  ] };
61     key <AB04>  { [ c,          C,          cent,                   copyright            ] };
62     key <AB05>  { [ v,          V,          guillemotright,         greater              ] };
63     key <AB06>  { [ k,          K,          thorn,                  THORN                ] };
64     key <AB07>  { [ l,          L,          kra,                    ampersand            ] };
65
66 };
67
68
69 partial alphanumeric_keys
70 xkb_symbols "wco" {
71
72     include "workman(wkm)"
73
74     name[Group1] = "Workman for Programmers, with light modifications from cub@uanic (old)";
75
76     //             Unmodified       Shift           AltGr            Shift+AltGr
77     // symbols row, left side
78     key <TLDE>  { [ asciitilde,      grave,          dead_grave                  ]      };
79     key <AE01>  { [ exclam,          1,              exclamdown                  ]      };
80     key <AE02>  { [ braceleft,       2,              currency                    ]      };
81     key <AE03>  { [ numbersign,      3,              cent                        ]      };
82     key <AE04>  { [ semicolon,       4,              yen                         ]      };
83     key <AE05>  { [ braceright,      5,              EuroSign                    ]      };
84     key <AE06>  { [ bracketleft,     6,              sterling                    ]      };
85
86     // symbols row, right side
87     key <AE07>  { [ ampersand,       7                                           ]      };
88     key <AE08>  { [ asterisk,        8,              onehalf                     ]      };
89     key <AE09>  { [ parenleft,       9                                           ]      };
90     key <AE10>  { [ parenright,      0                                           ]      };
91     key <AE11>  { [ bracketright,    percent                                     ]      };
92     key <AE12>  { [ equal,           plus                                        ]      };
93     key <BKSP>  { [ BackSpace                                                    ]      };
94
95     // upper row, right side
96     key <AD10>  { [ dollar,          at,             dead_acute, dead_doubleacute ]     };
97     key <AD11>  { [ colon,           asciicircum,    dead_circumflex, dead_caron  ]     };
98     key <AD12>  { [ apostrophe,      quotedbl                                     ]     };
99
100     // home row, right side
101     key <AC11>  { [ minus,           underscore,     hyphen                      ]      };
102
103     // lower row, left side
104     key <LSGT>  { [ greater,         less,           bar,            brokenbar   ]      };
105 };
106
107
108 partial alphanumeric_keys
109 xkb_symbols "wcp" {
110
111     include "workman(wco)"
112
113     name[Group1] = "Workman for Programmers, with light modifications from cub@uanic";
114
115     //             Unmodified       Shift           AltGr            Shift+AltGr
116     // symbols row, left side
117     key <AE01>  { [ semicolon,       1,              exclamdown                  ]      };
118     key <AE02>  { [ exclam,          2,              currency                    ]      };
119     key <AE04>  { [ braceleft,       4,              yen                         ]      };
120
121     // symbols row, right side
122     key <AE07>  { [ bracketright,    7                                           ]      };
123     key <AE11>  { [ ampersand,       percent                                     ]      };
124 };
125
126
127 partial alphanumeric_keys
128 xkb_symbols "wce" {
129
130     include "workman(wcp)"
131
132     name[Group1] = "Workman for Programmers, with light modifications from cub@uanic, for Ergodox";
133
134     //             Unmodified       Shift           AltGr            Shift+AltGr
135     key <BKSL>  { [ apostrophe,      quotedbl                                    ]      };
136     key <AE11>  { [ asciicircum,     backslash                                   ]      };
137     key <AD11>  { [ colon,           percent                                     ]      };
138     key <AC11>  { [ minus,           underscore,     hyphen                      ]      };
139     key <AD12>  { [ bar,             ampersand                                   ]      };
140 };
141
142
143 partial alphanumeric_keys
144 xkb_symbols "wdp" {
145
146     include "workman(wkm)"
147
148     name[Group1] = "Workman for Programmers, with modifications from Dvorak for programmers";
149
150     //             Unmodified       Shift           AltGr            Shift+AltGr
151     // symbols row, left side
152     key <TLDE>  { [ asciitilde,      grave,          dead_grave                  ]      };
153     key <AE01>  { [ semicolon,       ampersand                                   ]      };
154     key <AE02>  { [ bracketleft,     7,              currency                    ]      };
155     key <AE03>  { [ braceleft,       5,              cent                        ]      };
156     key <AE04>  { [ braceright,      3,              yen                         ]      };
157     key <AE05>  { [ parenleft,       1,              EuroSign                    ]      };
158     key <AE06>  { [ equal,           9,              sterling                    ]      };
159
160     // symbols row, right side
161     key <AE07>  { [ asterisk,        0                                           ]      };
162     key <AE08>  { [ parenright,      2,              onehalf                     ]      };
163     key <AE09>  { [ plus,            4                                           ]      };
164     key <AE10>  { [ bracketright,    6                                           ]      };
165     key <AE11>  { [ percent,         8                                           ]      };
166     key <AE12>  { [ exclam,          numbersign,     exclamdown                  ]      };
167     key <BKSP>  { [ BackSpace                                                    ]      };
168
169     // upper row, right side
170     key <AD10>  { [ dollar,          at,             dead_acute, dead_doubleacute ]     };
171     key <AD11>  { [ colon,           asciicircum,    dead_circumflex, dead_caron  ]     };
172     key <AD12>  { [ apostrophe,      quotedbl                                     ]     };
173
174     // home row, right side
175     key <AC11>  { [ minus,           underscore,     hyphen                      ]      };
176
177     // lower row, left side
178     key <LSGT>  { [ greater,         less,           bar,            brokenbar   ]      };
179 };
180