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