146185892Smrg// Keyboard layouts for Great Britain.
246185892Smrg
38157b447Smrgdefault partial alphanumeric_keys
4154daed1Smrgxkb_symbols "basic" {
5154daed1Smrg
646185892Smrg    // The basic UK layout, also known as the IBM 166 layout,
746185892Smrg    // but with the useless brokenbar pushed two levels up.
8154daed1Smrg
9154daed1Smrg    include "latin"
10154daed1Smrg
11bfd7cbc1Smrg    name[Group1]="English (UK)";
12154daed1Smrg
1346185892Smrg    key <TLDE>	{ [     grave,    notsign,          bar,          bar ]	};
14154daed1Smrg    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
15154daed1Smrg    key <AE03>	{ [         3,   sterling, threesuperior,    sterling ]	};
16154daed1Smrg    key <AE04>	{ [         4,     dollar,     EuroSign,   onequarter ]	};
17154daed1Smrg
18154daed1Smrg    key <AC11>	{ [apostrophe,         at, dead_circumflex, dead_caron]	};
19154daed1Smrg    key <BKSL>	{ [numbersign, asciitilde,   dead_grave,   dead_breve ]	};
2046185892Smrg
21154daed1Smrg    key <LSGT>	{ [ backslash,        bar,          bar,    brokenbar ]	};
22154daed1Smrg
239ea7388fSmrg    include "level3(ralt_switch)"
24154daed1Smrg};
25154daed1Smrg
26797b363dSmrgpartial alphanumeric_keys
2746185892Smrgxkb_symbols "intl" {
28154daed1Smrg
2946185892Smrg    // A UK layout but with five accents made into dead keys:
3046185892Smrg    // grave, diaeresis, circumflex, acute, and tilde.
3146185892Smrg    // By Phil Jones <philjones1 at blueyonder.co.uk>.
32154daed1Smrg
3346185892Smrg    include "latin"
34154daed1Smrg
359184b9c8Smrg    name[Group1]="English (UK, intl., with dead keys)";
36154daed1Smrg
37154daed1Smrg    key <TLDE>  { [ dead_grave,    notsign,            bar,         bar ] };
3846185892Smrg    key <AE02>  { [   2,    dead_diaeresis,    twosuperior,     onehalf ] };
3946185892Smrg    key <AE03>  { [   3,          sterling,  threesuperior,    onethird ] };
4046185892Smrg    key <AE04>  { [   4,            dollar,       EuroSign,  onequarter ] };
4146185892Smrg    key <AE06>  { [   6,   dead_circumflex,  threequarters,    onesixth ] };
42154daed1Smrg
4346185892Smrg    key <AC11>  { [ dead_acute,         at,     apostrophe,         bar ] };
44154daed1Smrg    key <BKSL>  { [ numbersign, dead_tilde,            bar,         bar ] };
45154daed1Smrg
4646185892Smrg    key <LSGT>  { [  backslash,        bar,            bar,         bar ] };
4746185892Smrg    key <AB08>  { [      comma,       less,       ccedilla,    Ccedilla ] };
481c606da7Smrg
49154daed1Smrg    include "level3(ralt_switch)"
50154daed1Smrg};
51154daed1Smrg
52797b363dSmrgpartial alphanumeric_keys
53c067fea9Sghenxkb_symbols "extd" {
54bb3a541cSmrg    // Clone of the Microsoft "United Kingdom Extended" layout, which
55c067fea9Sghen    // includes dead keys for: grave; diaeresis; circumflex; tilde; and
56c067fea9Sghen    // accute. It also enables direct access to accute characters using
57c067fea9Sghen    // the Multi_key (Alt Gr).
58c067fea9Sghen    //
59c067fea9Sghen    // Taken from...
60c067fea9Sghen    //    "Windows Keyboard Layouts"
61bb3a541cSmrg    //    https://docs.microsoft.com/en-gb/globalization/windows-keyboard-layouts#U
62c067fea9Sghen    //
63c067fea9Sghen    // -- Jonathan Miles <jon@cybah.co.uk>
64c067fea9Sghen
65c067fea9Sghen    include "latin"
66c067fea9Sghen
678157b447Smrg    name[Group1]="English (UK, extended, Windows)";
68797b363dSmrg
69c067fea9Sghen    key <TLDE> { [ dead_grave,    notsign,       brokenbar,    NoSymbol ] };
70c067fea9Sghen    key <AE02> { [     2,        quotedbl,  dead_diaeresis,     onehalf ] };
71c067fea9Sghen    key <AE03> { [     3,        sterling,   threesuperior,    onethird ] };
72c067fea9Sghen    key <AE04> { [     4,          dollar,        EuroSign,  onequarter ] };
73c067fea9Sghen    key <AE06> { [     6,     asciicircum, dead_circumflex,    NoSymbol ] };
74c067fea9Sghen
75c067fea9Sghen    key <AD02> { [   w,                 W,          wacute,      Wacute ] };
76c067fea9Sghen    key <AD03> { [   e,                 E,          eacute,      Eacute ] };
77c067fea9Sghen    key <AD06> { [   y,                 Y,          yacute,      Yacute ] };
78c067fea9Sghen    key <AD07> { [   u,                 U,          uacute,      Uacute ] };
79c067fea9Sghen    key <AD08> { [   i,                 I,          iacute,      Iacute ] };
80c067fea9Sghen    key <AD09> { [   o,                 O,          oacute,      Oacute ] };
8146185892Smrg    key <AD12> { [ bracketright, braceright,      NoSymbol,         bar ] };
82c067fea9Sghen
83c067fea9Sghen    key <AC01> { [   a,                 A,          aacute,      Aacute ] };
8446185892Smrg    key <AC11> { [  apostrophe,         at,     dead_acute,      grave  ] };
8546185892Smrg    key <BKSL>  { [ numbersign, asciitilde,     dead_tilde,    backslash ] };
86c067fea9Sghen
87c067fea9Sghen    key <LSGT>  { [  backslash,        bar,       NoSymbol,    NoSymbol ] };
8846185892Smrg    key <AB03> { [   c,                 C,        ccedilla,    Ccedilla ] };
89c067fea9Sghen
90c067fea9Sghen    include "level3(ralt_switch)"
91c067fea9Sghen};
92c067fea9Sghen
93154daed1Smrg// Describe the differences between the US Colemak layout
94154daed1Smrg// and a UK variant. By Andy Buckley (andy@insectnation.org)
95154daed1Smrg
96154daed1Smrgpartial alphanumeric_keys
97154daed1Smrgxkb_symbols "colemak" {
98154daed1Smrg    include "us(colemak)"
99154daed1Smrg
100bfd7cbc1Smrg    name[Group1]="English (UK, Colemak)";
101154daed1Smrg
10246185892Smrg    key <TLDE>	{ [     grave,    notsign,          bar,   asciitilde ]	};
103154daed1Smrg    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
104154daed1Smrg    key <AE03>	{ [         3,   sterling, threesuperior,    sterling ]	};
105154daed1Smrg    key <AE04>	{ [         4,     dollar,     EuroSign,   onequarter ]	};
106154daed1Smrg
107154daed1Smrg    key <AC11>	{ [apostrophe,         at, dead_circumflex, dead_caron]	};
108154daed1Smrg    key <BKSL>	{ [numbersign, asciitilde,   dead_grave,   dead_breve ]	};
10946185892Smrg
11046185892Smrg    key <LSGT>	{ [ backslash,        bar,   asciitilde,    brokenbar ]	};
111154daed1Smrg
112bb3a541cSmrg    include "level3(ralt_switch)"
113bb3a541cSmrg};
114bb3a541cSmrg
115bb3a541cSmrg// Colemak-DH (ISO) layout, UK Variant, https://colemakmods.github.io/mod-dh/
116bb3a541cSmrg
117bb3a541cSmrgpartial alphanumeric_keys
118bb3a541cSmrgxkb_symbols "colemak_dh" {
119bb3a541cSmrg    include "us(colemak_dh)"
120bb3a541cSmrg
121bb3a541cSmrg    name[Group1]="English (UK, Colemak-DH)";
122bb3a541cSmrg
12346185892Smrg    key <TLDE>	{ [     grave,    notsign,          bar,   asciitilde ]	};
124bb3a541cSmrg    key <AE02>	{ [         2,   quotedbl,  twosuperior,    oneeighth ]	};
125bb3a541cSmrg    key <AE03>	{ [         3,   sterling, threesuperior,    sterling ]	};
126bb3a541cSmrg    key <AE04>	{ [         4,     dollar,     EuroSign,   onequarter ]	};
127bb3a541cSmrg
128bb3a541cSmrg    key <AC11>	{ [apostrophe,         at, dead_circumflex, dead_caron]	};
129bb3a541cSmrg    key <BKSL>	{ [numbersign, asciitilde,   dead_grave,   dead_breve ]	};
13046185892Smrg
13146185892Smrg    key <AB05>	{ [ backslash,        bar,   asciitilde,    brokenbar ]	};
132bb3a541cSmrg
133bb3a541cSmrg    include "level3(ralt_switch)"
134154daed1Smrg};
135154daed1Smrg
136154daed1Smrg
137154daed1Smrg// Dvorak (UK) keymap (by odaen) allowing the usage of
1385a35480eSmrg// the £ and ? key and swapping the @ and " keys.
139154daed1Smrg
140154daed1Smrgpartial alphanumeric_keys
141154daed1Smrgxkb_symbols "dvorak" {
142c067fea9Sghen    include "us(dvorak-alt-intl)"
143154daed1Smrg
144bfd7cbc1Smrg    name[Group1]="English (UK, Dvorak)";
145154daed1Smrg
14646185892Smrg    key <TLDE> { [	grave,	notsign,   bar,           bar		] };
147154daed1Smrg    key <AE02> { [	    2,	quotedbl,  twosuperior,   NoSymbol	] };
148154daed1Smrg    key <AE03> { [	    3,	sterling,  threesuperior, NoSymbol	] };
14946185892Smrg    key <AD01> { [ apostrophe,	at		] };
150c067fea9Sghen    key <BKSL> { [ numbersign,	asciitilde	] };
151154daed1Smrg    key <LSGT> { [  backslash,	bar		] };
152154daed1Smrg};
153154daed1Smrg
1545a35480eSmrg// Dvorak letter positions, but punctuation all in the normal UK positions.
15546185892Smrg
1565a35480eSmrgpartial alphanumeric_keys
1575a35480eSmrgxkb_symbols "dvorakukp" {
1585a35480eSmrg    include "gb(dvorak)"
1595a35480eSmrg
1609184b9c8Smrg    name[Group1]="English (UK, Dvorak, with UK punctuation)";
1615a35480eSmrg
1625a35480eSmrg    key <AE11> {        [     minus,    underscore      ]       };
1635a35480eSmrg    key <AE12> {        [     equal,    plus            ]       };
1645a35480eSmrg    key <AD11> {        [ bracketleft,  braceleft       ]       };
1655a35480eSmrg    key <AD12> {        [ bracketright, braceright      ]       };
1665a35480eSmrg    key <AD01> {        [ slash,        question        ]       };
1675a35480eSmrg    key <AC11> {        [apostrophe,    at,         dead_circumflex, dead_caron] };
1685a35480eSmrg};
1695a35480eSmrg
170797b363dSmrgpartial alphanumeric_keys
171154daed1Smrgxkb_symbols "mac" {
172154daed1Smrg
173154daed1Smrg    include "latin"
174154daed1Smrg
175bfd7cbc1Smrg    name[Group1]= "English (UK, Macintosh)";
176154daed1Smrg
17746185892Smrg    key <TLDE> {	[         section,       plusminus ]	};
178154daed1Smrg    key <AE02> {	[               2,              at,         EuroSign	]	};
179154daed1Smrg    key <AE03> {	[               3,        sterling,       numbersign	]	};
1800412cdedSmrg    key <LSGT> {	[           grave,      asciitilde ]	};
181154daed1Smrg
182154daed1Smrg    include "level3(ralt_switch)"
1830412cdedSmrg    include "level3(enter_switch)"
184154daed1Smrg};
185154daed1Smrg
186154daed1Smrg
187797b363dSmrgpartial alphanumeric_keys
18847fb91feSmrgxkb_symbols "mac_intl" { 
18947fb91feSmrg
19047fb91feSmrg    include "latin" 
19147fb91feSmrg
1928157b447Smrg    name[Group1]="English (UK, Macintosh, intl.)";
19347fb91feSmrg
19446185892Smrg    key <TLDE>  { [ section,            plusminus,            notsign,    notsign ] }; //dead_grave
19547fb91feSmrg    key <AE02>  { [   2,                       at,           EuroSign,    onehalf ] };
19647fb91feSmrg    key <AE03>  { [   3,                 sterling,        twosuperior,   onethird ] };
19747fb91feSmrg    key <AE04>  { [   4,                   dollar,      threesuperior, onequarter ] };
19847fb91feSmrg    key <AE06>  { [   6,          dead_circumflex,           NoSymbol,   onesixth ] };
19947fb91feSmrg    key <AD09>    { [   o,                        O,                 oe,       OE ] };
20047fb91feSmrg
20147fb91feSmrg    key <AC11>  { [ dead_acute,    dead_diaeresis,     dead_diaeresis,        bar ] }; //dead_doubleacute
20247fb91feSmrg    key <BKSL>  { [ backslash,                bar,         numbersign,        bar ] };
20346185892Smrg
20447fb91feSmrg    key <LSGT>  { [ dead_grave,        dead_tilde,          brokenbar,        bar ] };
20547fb91feSmrg
20647fb91feSmrg    include "level3(ralt_switch)"
20747fb91feSmrg};
2080412cdedSmrg
2099d99ee05Smrgpartial alphanumeric_keys
2109d99ee05Smrgxkb_symbols "pl" {
2119d99ee05Smrg
21246185892Smrg    // Polish accented letters on upper levels of corresponding base letters.
21346185892Smrg    // Idea from Wawrzyniec Niewodniczański, adapted by Aleksander Kowalski.
21446185892Smrg
21546185892Smrg    include "gb(basic)"
21646185892Smrg
2179d99ee05Smrg    name[Group1]="Polish (British keyboard)";
2189d99ee05Smrg
21946185892Smrg    key <AD03>  { [         e,          E,      eogonek,      Eogonek ] };
2209d99ee05Smrg    key <AD09>  { [         o,          O,       oacute,       Oacute ] };
22146185892Smrg
2229d99ee05Smrg    key <AC01>  { [         a,          A,      aogonek,      Aogonek ] };
2239d99ee05Smrg    key <AC02>  { [         s,          S,       sacute,       Sacute ] };
22446185892Smrg
2259d99ee05Smrg    key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
2269d99ee05Smrg    key <AB02>  { [         x,          X,       zacute,       Zacute ] };
2279d99ee05Smrg    key <AB03>  { [         c,          C,       cacute,       Cacute ] };
2289d99ee05Smrg    key <AB06>  { [         n,          N,       nacute,       Nacute ] };
22946185892Smrg};
230bb3a541cSmrg
23146185892Smrgpartial alphanumeric_keys
23246185892Smrgxkb_symbols "gla" {
23346185892Smrg
23446185892Smrg    // Grave-accented letters on the upper levels of the relevant vowels.
23546185892Smrg
23646185892Smrg    include "gb(basic)"
23746185892Smrg
23846185892Smrg    name[Group1]="Scottish Gaelic";
23946185892Smrg
24046185892Smrg    key <AD03> { [   e,                 E,          egrave,      Egrave ] };
24146185892Smrg    key <AD07> { [   u,                 U,          ugrave,      Ugrave ] };
24246185892Smrg    key <AD08> { [   i,                 I,          igrave,      Igrave ] };
24346185892Smrg    key <AD09> { [   o,                 O,          ograve,      Ograve ] };
24446185892Smrg
24546185892Smrg    key <AC01> { [   a,                 A,          agrave,      Agrave ] };
2469d99ee05Smrg};
2479d99ee05Smrg
2480412cdedSmrg// EXTRAS:
2490412cdedSmrg
2500412cdedSmrgpartial alphanumeric_keys
2510412cdedSmrg	xkb_symbols "sun_type6" {
2520412cdedSmrg	include "sun_vndr/gb(sun_type6)"
2530412cdedSmrg};
254