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