Skip to content

Instantly share code, notes, and snippets.

@eddy-geek
Created September 17, 2018 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eddy-geek/afa89917e6e4e9c681875925cf8e925e to your computer and use it in GitHub Desktop.
Save eddy-geek/afa89917e6e4e9c681875925cf8e925e to your computer and use it in GitHub Desktop.
// based on a keyboard map from an 'xkb/symbols/gb' file
default partial alphanumeric_keys
xkb_symbols "basic" {
// Describes the differences between a very simple en_US
// keyboard and a very simple U.K. keyboard layout defined by
// the SVR4 European Language Supplement and sometimes also
// known as the IBM 166 layout.
include "latin"
name[Group1]="English (UK)";
// name[group1]= "KodeTravel (kode)";
key.type[group1] = "EIGHT_LEVEL";
key <AD01> { [ q, Q, 0x1007067, 0x10000b6 ] };
key <AD02> { [ w, W, egrave, ediaeresis ] };
key <AD03> { [ e, E, eacute, Greek_epsilon ] };
key <AD04> { [ r, R, ecircumflex, registered ] };
key <AD05> { [ t, T, dead_caron, trademark ] };
key <AD06> { [ y, Y, dead_abovedot, dead_belowdot ] };
key <AD07> { [ u, U, ocircumflex, dead_doubleacute ] };
key <AD08> { [ i, I, oacute, yen ] };
key <AD09> { [ o, O, otilde, oe ] };
key <AD10> { [ p, P, p, ordfeminine ] };
key <AC01> { [ a, A, atilde, ae ] };
key <AC02> { [ s, S, agrave, section ] };
key <AC03> { [ d, D, aacute, Greek_delta ] };
key <AC04> { [ f, F, acircumflex, variation ] };
key <AC05> { [ g, G, dead_cedilla, dead_diaeresis ] };
key <AC06> { [ h, H, dead_macron, dead_belowmacron ] };
key <AC07> { [ j, J, icircumflex, dead_abovering ] };
key <AC08> { [ k, K, iacute, idiaeresis ] };
key <AC09> { [ l, L, i, masculine ] };
key <AB01> { [ z, Z, bar,leftdoublequotemark] };
key <AB02> { [ x, X, ugrave, udiaeresis ] };
key <AB03> { [ c, C, uacute, copyright ] };
key <AB04> { [ v, V, ucircumflex,rightdoublequotemark] };
key <AB05> { [ b, B, guillemotleft, guillemotright ] };
key <AB06> { [ n, N, ntilde, 0x1002116 ] };
key <AB07> { [ m, M, mu, downarrow ] };
key <AB08> { [ comma, less, ccedilla, leftarrow ] };
key <AB09> { [ period, greater, periodcentered, rightarrow ] };
key <AB10> { [ slash, question, questiondown, uparrow ] };
key <TLDE> { [ quotedbl, asciitilde, dead_grave, dead_tilde ] };
key <AE11> { [ minus, grave,dead_diaeresis, dead_grave ] };
key <AE12> { [ semicolon, asciicircum, dead_acute,dead_circumflex] };
key <AD11> { [ parenleft, braceleft, 0x10025c1, 0x10025b3 ] };
key <AD12> { [parenright, braceright, 0x10025b7, 0x10025bd ] };
key <AC10> { [ colon, exclam, ccedilla, Ccedilla ] };
key <AC11> { [apostrophe, dollar, multiply, 0x1002715 ] };
key <BKSL> { [ quotedbl,dead_diaeresis, 0x1002026, 0x1002713 ] };
key <AE01> { [ 1, 1, onesuperior, exclamdown ] };
key <AE02> { [ underscore, 2, at, twosuperior ] };
key <AE03> { [ numbersign, 3,threesuperior, threequarters ] };
key <AE04> { [ backslash, 4, EuroSign, notsign ] };
key <AE05> { [ bracketleft, 5, percent, 0x10025a1 ] };
key <AE06> { [ bracketright, 6, bar, circle ] };
key <AE07> { [ plus, 7, ampersand, plusminus ] };
key <AE08> { [ asterisk, 8, division, infinity ] };
key <AE09> { [ equal, 9, 0x1002248, notequal ] };
key <AE10> { [ 0, 0, degree, oslash ] };
replace key <CAPS> { type[Group1]="ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ] };
include "level3(ralt_switch_multikey)"
};
partial alphanumeric_keys
xkb_symbols "intl" {
// Describes the differences between a very simple en_US
// keyboard and a very simple U.K. keyboard layout with
// dead keys. By Phil Jones (philjones1@blueyonder.co.uk)
// Includes the following keys:
// dead_grave
// dead_acute
// dead_circumflex
// dead_tilde
// dead_diaeresis
include "latin"
name[Group1]="English (UK, intl., with dead keys)";
key <AE02> { [ 2, dead_diaeresis, twosuperior, onehalf ] };
key <AE03> { [ 3, sterling, threesuperior, onethird ] };
key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
key <AE06> { [ 6, dead_circumflex, NoSymbol, onesixth ] };
key <AC11> { [ dead_acute, at, apostrophe, bar ] };
key <TLDE> { [ dead_grave, notsign, bar, bar ] };
key <BKSL> { [ numbersign, dead_tilde, bar, bar ] };
key <LSGT> { [ backslash, bar, bar, bar ] };
include "level3(ralt_switch)"
};
partial alphanumeric_keys
xkb_symbols "extd" {
// Clone of the Microsoft "English (UK, Extended" layout, which
// includes dead keys for: grave; diaeresis; circumflex; tilde; and
// accute. It also enables direct access to accute characters using
// the Multi_key (Alt Gr).
//
// Taken from...
// "Windows Keyboard Layouts"
// http://msdn.microsoft.com/en-us/goglobal/bb964651.aspx
//
// -- Jonathan Miles <jon@cybah.co.uk>
include "latin"
name[Group1]="English (UK, extended, with Win keys)";
key <TLDE> { [ dead_grave, notsign, brokenbar, NoSymbol ] };
key <AE02> { [ 2, quotedbl, dead_diaeresis, onehalf ] };
key <AE03> { [ 3, sterling, threesuperior, onethird ] };
key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, NoSymbol ] };
key <AD02> { [ w, W, wacute, Wacute ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD06> { [ y, Y, yacute, Yacute ] };
key <AD07> { [ u, U, uacute, Uacute ] };
key <AD08> { [ i, I, iacute, Iacute ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AC01> { [ a, A, aacute, Aacute ] };
key <AC11> { [ apostrophe, at, dead_acute, NoSymbol ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <BKSL> { [ numbersign, asciitilde, dead_tilde, NoSymbol ] };
key <LSGT> { [ backslash, bar, NoSymbol, NoSymbol ] };
include "level3(ralt_switch)"
};
// Describe the differences between the US Colemak layout
// and a UK variant. By Andy Buckley (andy@insectnation.org)
partial alphanumeric_keys
xkb_symbols "colemak" {
include "us(colemak)"
name[Group1]="English (UK, Colemak)";
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
key <AE03> { [ 3, sterling, threesuperior, sterling ] };
key <AE04> { [ 4, dollar, EuroSign, onequarter ] };
key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
key <TLDE> { [ grave, notsign, bar, bar ] };
key <BKSL> { [numbersign, asciitilde, dead_grave, dead_breve ] };
key <LSGT> { [ backslash, bar, bar, brokenbar ] };
include "level3(ralt_switch_multikey)"
};
// Dvorak (UK) keymap (by odaen) allowing the usage of
// the £ and ? key and swapping the @ and " keys.
partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak-alt-intl)"
name[Group1]="English (UK, Dvorak)";
key <AD01> { [ apostrophe, at ] };
key <AE02> { [ 2, quotedbl, twosuperior, NoSymbol ] };
key <AE03> { [ 3, sterling, threesuperior, NoSymbol ] };
key <BKSL> { [ numbersign, asciitilde ] };
key <LSGT> { [ backslash, bar ] };
key <TLDE> { [ grave, notsign, bar, bar ] };
};
// Dvorak letter positions, but punctuation all in the normal UK positions.
partial alphanumeric_keys
xkb_symbols "dvorakukp" {
include "gb(dvorak)"
name[Group1]="English (UK, Dvorak, with UK punctuation)";
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
key <AD01> { [ slash, question ] };
key <AC11> { [apostrophe, at, dead_circumflex, dead_caron] };
};
// Copied from macintosh_vndr/gb
partial alphanumeric_keys
xkb_symbols "mac" {
// Describes the differences between a very simple en_US
// keyboard and a very simple U.K. keyboard layout
include "latin"
name[Group1]= "English (UK, Macintosh)";
key <AE02> { [ 2, at, EuroSign ] };
key <AE03> { [ 3, sterling, numbersign ] };
key <TLDE> { [ section, plusminus ] };
key <LSGT> { [ grave, asciitilde ] };
include "level3(ralt_switch)"
include "level3(enter_switch)"
};
partial alphanumeric_keys
xkb_symbols "mac_intl" {
include "latin"
name[Group1]="English (UK, intl., Macintosh)";
key <AE02> { [ 2, at, EuroSign, onehalf ] };
key <AE03> { [ 3, sterling, twosuperior, onethird ] };
key <AE04> { [ 4, dollar, threesuperior, onequarter ] };
key <AE06> { [ 6, dead_circumflex, NoSymbol, onesixth ] };
key <AD09> { [ o, O, oe, OE ] };
key <AC11> { [ dead_acute, dead_diaeresis, dead_diaeresis, bar ] }; //dead_doubleacute
key <TLDE> { [ section, plusminus, notsign, notsign ] }; //dead_grave
key <BKSL> { [ backslash, bar, numbersign, bar ] };
key <LSGT> { [ dead_grave, dead_tilde, brokenbar, bar ] };
include "level3(ralt_switch)"
};
// EXTRAS:
partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/gb(sun_type6)"
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment