1default partial alphanumeric_keys
2xkb_symbols "basic" {
3
4    // Describes the differences between a very simple en_US
5    // keyboard and a very simple U.K. keyboard layout defined by
6    // the SVR4 European Language Supplement and sometimes also
7    // known as the IBM 166 layout.
8
9    include "latin"
10
11    name[Group1]="English (UK)";
12
13    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
14    key <AE03>	{ [         3,   sterling, threesuperior,    sterling ]	};
15    key <AE04>	{ [         4,     dollar,     EuroSign,   onequarter ]	};
16
17    key <AC11>	{ [apostrophe,         at, dead_circumflex, dead_caron]	};
18    key <TLDE>	{ [     grave,    notsign,          bar,          bar ]	};
19
20    key <BKSL>	{ [numbersign, asciitilde,   dead_grave,   dead_breve ]	};
21    key <LSGT>	{ [ backslash,        bar,          bar,    brokenbar ]	};
22
23    include "level3(ralt_switch)"
24};
25
26partial alphanumeric_keys
27xkb_symbols "intl" {
28
29    // Describes the differences between a very simple en_US
30    // keyboard and a very simple U.K. keyboard layout with
31    // dead keys. By Phil Jones (philjones1@blueyonder.co.uk)
32
33    // Includes the following keys:
34    // dead_grave
35    // dead_acute
36    // dead_circumflex
37    // dead_tilde
38    // dead_diaeresis
39
40    include "latin"
41
42    name[Group1]="English (UK, intl., with dead keys)";
43
44    key <AE02>  { [   2,  dead_diaeresis,      twosuperior,     onehalf ] };
45    key <AE03>  { [   3,        sterling,    threesuperior,    onethird ] };
46    key <AE04>  { [   4,          dollar,         EuroSign,  onequarter ] };
47    key <AE06>  { [   6, dead_circumflex,         NoSymbol,    onesixth ] };
48
49    key <AC11>  { [ dead_acute,         at,     apostrophe,         bar ] };
50    key <TLDE>  { [ dead_grave,    notsign,            bar,         bar ] };
51
52    key <BKSL>  { [ numbersign, dead_tilde,            bar,         bar ] };
53    key <LSGT>  { [  backslash,        bar,            bar,         bar ] };
54
55    key <AB08>  { [      comma,       less,       ccedilla,         Ccedilla ] };
56
57    include "level3(ralt_switch)"
58};
59
60partial alphanumeric_keys
61xkb_symbols "extd" {
62    // Clone of the Microsoft "United Kingdom Extended" layout, which
63    // includes dead keys for: grave; diaeresis; circumflex; tilde; and
64    // accute. It also enables direct access to accute characters using
65    // the Multi_key (Alt Gr).
66    //
67    // Taken from...
68    //    "Windows Keyboard Layouts"
69    //    https://docs.microsoft.com/en-gb/globalization/windows-keyboard-layouts#U
70    //
71    // -- Jonathan Miles <jon@cybah.co.uk>
72
73    include "latin"
74
75    name[Group1]="English (UK, extended, Windows)";
76
77    key <TLDE> { [ dead_grave,    notsign,       brokenbar,    NoSymbol ] };
78
79    key <AE02> { [     2,        quotedbl,  dead_diaeresis,     onehalf ] };
80    key <AE03> { [     3,        sterling,   threesuperior,    onethird ] };
81    key <AE04> { [     4,          dollar,        EuroSign,  onequarter ] };
82    key <AE06> { [     6,     asciicircum, dead_circumflex,    NoSymbol ] };
83
84    key <AD02> { [   w,                 W,          wacute,      Wacute ] };
85    key <AD03> { [   e,                 E,          eacute,      Eacute ] };
86    key <AD06> { [   y,                 Y,          yacute,      Yacute ] };
87    key <AD07> { [   u,                 U,          uacute,      Uacute ] };
88    key <AD08> { [   i,                 I,          iacute,      Iacute ] };
89    key <AD09> { [   o,                 O,          oacute,      Oacute ] };
90
91    key <AC01> { [   a,                 A,          aacute,      Aacute ] };
92    key <AC11> { [  apostrophe,         at,     dead_acute,    NoSymbol ] };
93
94    key <AB03> { [   c,                 C,        ccedilla,    Ccedilla ] };
95
96    key <BKSL>  { [ numbersign, asciitilde,     dead_tilde,    NoSymbol ] };
97    key <LSGT>  { [  backslash,        bar,       NoSymbol,    NoSymbol ] };
98
99    include "level3(ralt_switch)"
100};
101
102// Describe the differences between the US Colemak layout
103// and a UK variant. By Andy Buckley (andy@insectnation.org)
104
105partial alphanumeric_keys
106xkb_symbols "colemak" {
107    include "us(colemak)"
108
109    name[Group1]="English (UK, Colemak)";
110
111    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
112    key <AE03>	{ [         3,   sterling, threesuperior,    sterling ]	};
113    key <AE04>	{ [         4,     dollar,     EuroSign,   onequarter ]	};
114
115    key <AC11>	{ [apostrophe,         at, dead_circumflex, dead_caron]	};
116    key <TLDE>	{ [     grave,    notsign,          bar,          bar ]	};
117
118    key <BKSL>	{ [numbersign, asciitilde,   dead_grave,   dead_breve ]	};
119    key <LSGT>	{ [ backslash,        bar,          bar,    brokenbar ]	};
120
121    include "level3(ralt_switch)"
122};
123
124// Colemak-DH (ISO) layout, UK Variant, https://colemakmods.github.io/mod-dh/
125
126partial alphanumeric_keys
127xkb_symbols "colemak_dh" {
128    include "us(colemak_dh)"
129
130    name[Group1]="English (UK, Colemak-DH)";
131
132    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
133    key <AE03>	{ [         3,   sterling, threesuperior,    sterling ]	};
134    key <AE04>	{ [         4,     dollar,     EuroSign,   onequarter ]	};
135
136    key <AC11>	{ [apostrophe,         at, dead_circumflex, dead_caron]	};
137    key <TLDE>	{ [     grave,    notsign,          bar,          bar ]	};
138
139    key <BKSL>	{ [numbersign, asciitilde,   dead_grave,   dead_breve ]	};
140    key <AB05>	{ [ backslash,        bar,          bar,    brokenbar ]	};
141
142    include "level3(ralt_switch)"
143};
144
145
146// Dvorak (UK) keymap (by odaen) allowing the usage of
147// the £ and ? key and swapping the @ and " keys.
148
149partial alphanumeric_keys
150xkb_symbols "dvorak" {
151    include "us(dvorak-alt-intl)"
152
153    name[Group1]="English (UK, Dvorak)";
154
155    key <AD01> { [ apostrophe,	at		] };
156    key <AE02> { [	    2,	quotedbl,  twosuperior,   NoSymbol	] };
157    key <AE03> { [	    3,	sterling,  threesuperior, NoSymbol	] };
158    key <BKSL> { [ numbersign,	asciitilde	] };
159    key <LSGT> { [  backslash,	bar		] };
160    key <TLDE> { [	grave,	notsign,   bar,           bar		] };
161};
162
163// Dvorak letter positions, but punctuation all in the normal UK positions.
164partial alphanumeric_keys
165xkb_symbols "dvorakukp" {
166    include "gb(dvorak)"
167
168    name[Group1]="English (UK, Dvorak, with UK punctuation)";
169
170    key <AE11> {        [     minus,    underscore      ]       };
171    key <AE12> {        [     equal,    plus            ]       };
172    key <AD11> {        [ bracketleft,  braceleft       ]       };
173    key <AD12> {        [ bracketright, braceright      ]       };
174    key <AD01> {        [ slash,        question        ]       };
175    key <AC11> {        [apostrophe,    at,         dead_circumflex, dead_caron] };
176};
177
178// Copied from macintosh_vndr/gb
179partial alphanumeric_keys
180xkb_symbols "mac" {
181
182    // Describes the differences between a very simple en_US
183    // keyboard and a very simple U.K. keyboard layout
184
185    include "latin"
186
187    name[Group1]= "English (UK, Macintosh)";
188
189    key <AE02> {	[               2,              at,         EuroSign	]	};
190    key <AE03> {	[               3,        sterling,       numbersign	]	};
191    key <TLDE> {	[         section,       plusminus ]	};
192    key <LSGT> {	[           grave,      asciitilde ]	};
193
194    include "level3(ralt_switch)"
195    include "level3(enter_switch)"
196};
197
198
199partial alphanumeric_keys
200xkb_symbols "mac_intl" {
201
202    include "latin"
203
204    name[Group1]="English (UK, Macintosh, intl.)";
205
206    key <AE02>  { [   2,                       at,           EuroSign,    onehalf ] };
207    key <AE03>  { [   3,                 sterling,        twosuperior,   onethird ] };
208    key <AE04>  { [   4,                   dollar,      threesuperior, onequarter ] };
209    key <AE06>  { [   6,          dead_circumflex,           NoSymbol,   onesixth ] };
210    key <AD09>    { [   o,                        O,                 oe,       OE ] };
211
212    key <AC11>  { [ dead_acute,    dead_diaeresis,     dead_diaeresis,        bar ] }; //dead_doubleacute
213    key <TLDE>  { [ section,            plusminus,            notsign,    notsign ] }; //dead_grave
214
215    key <BKSL>  { [ backslash,                bar,         numbersign,        bar ] };
216    key <LSGT>  { [ dead_grave,        dead_tilde,          brokenbar,        bar ] };
217
218    include "level3(ralt_switch)"
219};
220
221partial alphanumeric_keys
222xkb_symbols "pl" {
223
224    // Polish layout based on British keyboard
225    // Adopted 2016 by Aleksander Kowalski
226
227    include "latin"
228
229    name[Group1]="Polish (British keyboard)";
230
231    key <AE02>{ [         2,   quotedbl,  twosuperior,    oneeighth ]};
232    key <AE03>{ [         3,   sterling, threesuperior,    sterling ]};
233    key <AE04>{ [         4,     dollar,     EuroSign,   onequarter ]};
234
235    key <AC11>{ [apostrophe,         at, dead_circumflex, dead_caron]};
236    key <TLDE>{ [     grave,    notsign,          bar,          bar ]};
237
238    key <BKSL>{ [numbersign, asciitilde,   dead_grave,   dead_breve ]};
239    key <LSGT>{ [ backslash,        bar,          bar,    brokenbar ]};
240
241    key <AD01>  { [         q,          Q ] };
242    key <AD02>  { [         w,          W ] };
243    key <AD03>{ [         e,          E,      eogonek,      Eogonek ]   };
244    key <AD09>  { [         o,          O,       oacute,       Oacute ] };
245
246    key <AC01>  { [         a,          A,      aogonek,      Aogonek ] };
247    key <AC02>  { [         s,          S,       sacute,       Sacute ] };
248    key <AC04>  { [         f,          F ] };
249
250    key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
251    key <AB02>  { [         x,          X,       zacute,       Zacute ] };
252    key <AB03>  { [         c,          C,       cacute,       Cacute ] };
253    key <AB06>  { [         n,          N,       nacute,       Nacute ] };
254
255    include "level3(ralt_switch)"
256};
257
258// EXTRAS:
259
260partial alphanumeric_keys
261	xkb_symbols "sun_type6" {
262	include "sun_vndr/gb(sun_type6)"
263};
264