-// $XKeyboardConfig$
-
-//
-// $XdotOrg: xc/programs/xkbcomp/symbols/us,v 1.1.4.3 2004/03/05 13:41:33 eich Exp $
-// $XFree86: xc/programs/xkbcomp/symbols/us,v 1.6 2003/10/31 14:32:05 pascal Exp $
-
default
partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
- name[Group1]= "USA";
+ name[Group1]= "English (US)";
// Alphanumeric section
key <TLDE> { [ grave, asciitilde ] };
partial alphanumeric_keys
xkb_symbols "euro" {
- name[Group1]= "USA - With EuroSign on 5";
+ name[Group1]= "English (US, with euro on 5)";
include "us(basic)"
partial alphanumeric_keys
xkb_symbols "intl" {
- name[Group1]= "USA - International (with dead keys)";
+ name[Group1]= "English (US, international with dead keys)";
include "us(basic)"
key <AC01> { [ a, A, aacute, Aacute ] };
key <AC02> { [ s, S, ssharp, section ] };
key <AC03> { [ d, D, eth, ETH ] };
+ key <AC04> { [ f, F, f, F ] };
+ key <AC05> { [ g, G, g, G ] };
+ key <AC06> { [ h, H, h, H ] };
+ key <AC07> { [ j, J, j, J ] };
key <AC08> { [ k, K, oe, OE ] };
key <AC09> { [ l, L, oslash, Ooblique ] };
key <AC11> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
key <AB01> { [ z, Z, ae, AE ] };
+ key <AB02> { [ x, X, x, X ] };
key <AB03> { [ c, C, copyright, cent ] };
+ key <AB04> { [ v, V, v, V ] };
+ key <AB05> { [ b, B, b, B ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
key <AB07> { [ m, M, mu, mu ] };
key <AB08> { [ comma, less, ccedilla, Ccedilla ] };
partial alphanumeric_keys
xkb_symbols "alt-intl" {
- name[Group1]= "USA - Alternative international (former us_intl)";
+ name[Group1]= "English (US, alternative international)";
include "us"
};
// based on a keyboard map from an 'xkb/symbols/dk' file
-//
-// $XFree86: xc/programs/xkbcomp/symbols/dvorak,v 1.5 2004/01/03 16:35:07 herrb Exp $
partial alphanumeric_keys
xkb_symbols "dvorak" {
- name[Group1]= "USA - Dvorak";
+ name[Group1]= "English (Dvorak)";
// Alphanumeric section
key <BKSL> { [ backslash, bar ] };
};
-// Dvorak international
+// Dvorak international with dead keys
+// Olivier Mehani (shtrom-xorg@ssji.net)
+// Reproduce the per-key mapping of us(intl) for the dvorak layout
+// aka "I just swapped my keys over"
+partial alphanumeric_keys
+xkb_symbols "dvorak-intl" {
+
+ name[Group1]= "English (Dvorak international with dead keys)";
+
+ include "us(dvorak)"
+
+ key <TLDE> { [dead_grave, dead_tilde, grave, asciitilde ] };
+
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior, dead_doubleacute ] };
+ key <AE03> { [ 3, numbersign, threesuperior, dead_macron ] };
+ key <AE04> { [ 4, dollar, currency, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign, dead_cedilla ] };
+ key <AE06> { [ 6, dead_circumflex, onequarter, asciicircum ] };
+ key <AE07> { [ 7, ampersand, onehalf, dead_horn ] };
+ key <AE08> { [ 8, asterisk, threequarters, dead_ogonek ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, dead_breve ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, dead_abovering ] };
+ key <AE11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
+ key <AE12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
+
+ key <AD01> { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] };
+ key <AD02> { [ comma, less, ccedilla, Ccedilla ] };
+ key <AD03> { [ period, greater, dead_abovedot, dead_caron ] };
+ key <AD04> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD05> { [ y, Y, udiaeresis, Udiaeresis ] };
+ // key <AD06> { [ f, F ] };
+ // key <AD07> { [ g, G ] };
+ key <AD08> { [ c, C, copyright, cent ] };
+ key <AD09> { [ r, R, registered, registered ] };
+ key <AD10> { [ l, L, oslash, Ooblique ] };
+ key <AD11> { [ slash, question, questiondown, dead_hook ] };
+ // key <AD12> { [ equal, plus, multiply, division ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, eacute, Eacute ] };
+ key <AC04> { [ u, U, uacute, Uacute ] };
+ key <AC05> { [ i, I, iacute, Iacute ] };
+ key <AC06> { [ d, D, eth, ETH ] };
+ // key <AC07> { [ h, H ] };
+ key <AC08> { [ t, T, thorn, THORN ] };
+ key <AC09> { [ n, N, ntilde, Ntilde ] };
+ key <AC10> { [ s, S, ssharp, section ] };
+ // key <AC11> { [ minus, underscore, yen, dead_belowdot ] };
+
+ key <AB01> { [ semicolon, colon, paragraph, degree ] };
+ key <AB02> { [ q, Q, adiaeresis, Adiaeresis ] };
+ // key <AB03> { [ j, J ] };
+ key <AB04> { [ k, K, oe, OE ] };
+ // key <AB05> { [ x, X ] };
+ // key <AB06> { [ b, B ] };
+ key <AB07> { [ m, M, mu, mu ] };
+ key <AB08> { [ w, W, aring, Aring ] };
+ // key <AB09> { [ v, V ] };
+ key <AB10> { [ z, Z, ae, AE ] };
+
+ key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Dvorak international without dead keys
// Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net)
// Based on information from http://www.poupinou.org/dvorak/index.html
//
// â ö è ù ï
partial alphanumeric_keys
-xkb_symbols "dvorak-intl" {
+xkb_symbols "dvorak-alt-intl" {
- name[Group1]= "USA - Dvorak international";
+ name[Group1]= "English (Dvorak alternative international no dead keys)";
include "us(dvorak)"
xkb_symbols "dvorak-l" {
include "us(dvorak)"
- name[Group1]= "USA - Left handed Dvorak";
+ name[Group1]= "English (left handed Dvorak)";
key <AE01> { [ bracketleft, braceleft ] };
key <AE02> { [ bracketright, braceright ] };
xkb_symbols "dvorak-r" {
include "us(dvorak)"
- name[Group1]= "USA - Right handed Dvorak";
+ name[Group1]= "English (right handed Dvorak)";
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
partial alphanumeric_keys
xkb_symbols "dvorak-classic" {
- name[Group1]= "USA - Classic Dvorak";
+ name[Group1]= "English (classic Dvorak)";
// Alphanumeric section
xkb_symbols "dvp" {
include "us(dvorak)"
- name[Group1] = "USA - Programmer Dvorak";
+ name[Group1] = "English (programmer Dvorak)";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
key <AE10> { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE11> { [ exclam, 8, exclamdown ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" };
key <AE12> { [ numbersign, grave, dead_grave ] };
- key <BKSP> { [ BackSpace ] };
+ key <BKSP> { [ BackSpace, BackSpace ] };
// upper row, left side
key <AD01> { [ semicolon, colon, dead_diaeresis ] };
partial alphanumeric_keys
xkb_symbols "rus" {
- name[Group1]= "USA - Russian phonetic";
+ name[Group1]= "Russian (US, phonetic)";
include "us(basic)"
xkb_symbols "mac" {
include "us(basic)"
- name[Group1]= "USA - Macintosh";
+ name[Group1]= "English (Macintosh)";
key.type[group1]="FOUR_LEVEL";
// Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg
partial alphanumeric_keys
xkb_symbols "colemak" {
include "us"
- name[Group1]= "USA - Colemak";
+ name[Group1]= "English (Colemak)";
// Alphanumeric section
key <TLDE> { [ grave, asciitilde, dead_tilde, asciitilde ] };
partial alphanumeric_keys
xkb_symbols "altgr-intl" {
- name[Group1]= "USA - International (AltGr dead keys)";
+ name[Group1]= "English (international AltGr dead keys)";
include "us(intl)"
xkb_symbols "olpc" {
include "us(basic)"
- name[Group1]= "USA";
+ name[Group1]= "English (US)";
// OLPC international US English keyboard layout.
// It's a little different from the usual international layout.
partial alphanumeric_keys
xkb_symbols "olpc2" {
include "us(olpc)"
- name[Group1]= "USA - Group toggle on multiply/divide key";
+ name[Group1]= "English (layout toggle on multiply/divide key)";
include "group(olpc)"
};
partial alphanumeric_keys modifier_keys
xkb_symbols "chr" {
- name[Group1]= "USA - Cherokee";
+ name[Group1]= "Cherokee";
key.type[group1]="ALPHABETIC";
// Alphanumeric section
// End alphanumeric section
};
+
+// Serbian charecters added as third level symbols to US keyboard layout.
+
+partial alphanumeric_keys
+xkb_symbols "hbs" {
+
+ name[Group1]= "Serbo-Croatian (US)";
+
+ include "us"
+
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE06> { [ 6, dead_caron, asciicircum, asciicircum ] };
+ key <AE08> { [ 8, asterisk, multiply, division ] };
+ key <AE11> { [ minus, underscore, endash, emdash ] };
+ key <AC09> { [ l, L, U1C9, U1C8 ] };
+ key <AB06> { [ n, N, U1CC, U1CB ] };
+ key <AB01> { [ z, Z, U1C6, U1C5 ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AC03> { [ d, D, dstroke, Dstroke ] };
+ key <AC11> { [ dead_acute, quotedbl, apostrophe, apostrophe ] };
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
+ key <AB08> { [ comma, less, U3003, guillemotright ] };
+ key <AB09> { [ period, greater, ellipsis, guillemotleft ] };
+
+ include "level3(ralt_switch)"
+};
+
+//based on http://upload.wikimedia.org/wikipedia/commons/1/18/T-Mobile_G1_launch_event_2.jpg
+partial alphanumeric_keys
+xkb_symbols "htcdream" {
+ include "inet(htcdream)"
+ name[Group1]= "English (US)";
+
+ //second row
+ key <AD01> { [ q, Q, Tab, Tab ] };
+ key <AD02> { [ w, W, grave, grave ] };
+ key <AD03> { [ e, E, underscore, underscore ] };
+ key <AD04> { [ r, R, sterling, sterling ] };
+ key <AD05> { [ t, T, EuroSign, EuroSign ] };
+ key <AD06> { [ y, Y, division, division ] };
+ key <AD07> { [ u, U, multiply, multiply ] };
+ key <AD08> { [ i, I, minus, minus ] };
+ key <AD09> { [ o, O, plus, plus ] };
+ key <AD10> { [ p, P, equal, equal ] };
+
+ //third row
+ key <AC01> { [ a, A, NoSymbol, NoSymbol ] };
+ key <AC02> { [ s, S, bar, bar ] };
+ key <AC03> { [ d ,D, backslash, backslash ] };
+ key <AC04> { [ f, F, braceleft, braceleft ] };
+ key <AC05> { [ g, G, braceright, braceright ] };
+ key <AC06> { [ h, H, colon, colon ] };
+ key <AC07> { [ j, J, semicolon, semicolon ] };
+ key <AC08> { [ k, K, quotedbl, quotedbl ] };
+ key <AC09> { [ l, L, apostrophe, apostrophe ] };
+
+ //forth row
+ key <AB01> { [ z, Z, NoSymbol, NoSymbol ] };
+ key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
+ key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
+ key <AB04> { [ v, V, bracketleft, bracketleft ] };
+ key <AB05> { [ b, B, bracketright, bracketright ] };
+ key <AB06> { [ n, N, less, less ] };
+ key <AB07> { [ m, M, greater, greater ] };
+ key <AB08> { [ comma, comma, question, question ] };
+
+ //fifth row
+ key <FK15> { [ at, at, asciitilde, asciitilde ] };
+
+ include "level3(alt_switch)"
+};
+
+// EXTRAS:
+
+// Czech, Slovak and German charecters added as third level symbols to US keyboard layout.
+partial alphanumeric_keys
+xkb_symbols "cz_sk_de" {
+ include "us"
+ name[Group1]="Czech Slovak and German (US)";
+
+ key <TLDE> { [grave, asciitilde, uring, Uring ] };
+ key <AE01> { [ 1, exclam, uacute, Uacute ] };
+ key <AE02> { [ 2, at, ecaron, Ecaron ] };
+ key <AE03> { [ 3, numbersign, scaron, Scaron ] };
+ key <AE04> { [ 4, dollar, ccaron, Ccaron ] };
+ key <AE05> { [ 5, percent, rcaron, Rcaron ] };
+ key <AE06> { [ 6, asciicircum, zcaron, Zcaron ] };
+ key <AE07> { [ 7, ampersand, yacute, Yacute ] };
+ key <AE08> { [ 8, asterisk, aacute, Aacute ] };
+ key <AE09> { [ 9, parenleft, iacute, Iacute ] };
+ key <AE10> { [ 0, parenright, eacute, Eacute ] };
+ key <AE11> { [minus, underscore, ssharp, 0x1001E9E ] };
+ key <AE12> { [equal, plus, dead_acute, dead_caron ] };
+
+ key <AD03> { [ e, E, EuroSign, Eacute ] };
+
+ key <AD11> { [bracketleft, braceleft, udiaeresis, Udiaeresis ] };
+ key <AC10> { [ semicolon, colon, odiaeresis, Odiaeresis ] };
+ key <AC11> { [apostrophe, quotedbl,adiaeresis, Adiaeresis ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD06> { [ y, Y, yacute, Yacute ] };
+ key <AD07> { [ u, U, uring, Uring ] };
+
+ key <AC02> { [ s, S, scaron, Scaron ] };
+ key <AB01> { [ z, Z, zcaron, Zcaron ] };
+ key <AB03> { [ c, C, ccaron, Ccaron ] };
+ key <AD04> { [ r, R, rcaron, Rcaron ] };
+ key <AD05> { [ t, T, tcaron, Tcaron ] };
+ key <AC03> { [ d, D, dcaron, Dcaron ] };
+ key <AB06> { [ n, N, ncaron, Ncaron ] };
+ key <AC09> { [ l, L, lcaron, Lcaron ] };
+ key <AD10> { [ p, P,ocircumflex, Ocircumflex ] };
+
+ key <SPCE> { [ space, space, nobreakspace, nobreakspace] };
+
+ include "level3(ralt_switch)"
+};
+
+// XCompose is out! Unicode combining is in! For those of us who live
+// on the edge: A keymap using Unicode combining characters instead of
+// deadkeys. This variation does not deviate from the lame MS-style
+// US-intl layout; but it uses AltGr for combining, like altgr-intl.
+//
+// This might break your font layout layout systems (because they
+// suck), caveat emptor. Also, most of today's software will count
+// individual combining marks for selection, deletion, character
+// counting &c., and won't be smart enough to do canonical equivalence
+// when searching, &c.
+//
+// With Unicode combining you use "handwriting order", not
+// "typewriting order" as with deadkeys. That is, you first type the
+// base character, then the diacritics/accents/modifiers. This has
+// the advantage of avoiding hidden states --- each keypress changes
+// something on screen.
+//
+// TODO: as of now, this duplicates all us(intl) functionality with
+// combining. With care, perhaps we could add more combining marks
+// not present in intl, and support all major languages.
+partial alphanumeric_keys
+xkb_symbols "intl-unicode" {
+
+ name[Group1]= "English (US, international AltGr Unicode combining)";
+
+ include "us(intl)"
+ include "level3(ralt_switch)"
+
+ // grave, tilde
+ key <TLDE> { [grave, asciitilde, U0300, U0303 ] };
+ // double acute
+ key <AE02> { [ 2, at, twosuperior, U030B ] };
+ // macron
+ key <AE03> { [ 3, numbersign, threesuperior, U0304 ] };
+ // circumflex
+ key <AE06> { [ 6, asciicircum, onequarter, U0302 ] };
+ // horn
+ key <AE07> { [ 7, ampersand, onehalf, U031B ] };
+ // ogonek
+ key <AE08> { [ 8, asterisk, threequarters, U0328 ] };
+ // breve
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, U0306 ] };
+ // abovering
+ key <AE10> { [ 0, parenright, rightsinglequotemark, U030A ] };
+
+ // belowdot
+ key <AE11> { [ minus, underscore, yen, U0323 ] };
+ // acute, diaeresis
+ key <AC11> { [apostrophe, quotedbl, U0301, U0308 ] };
+ // abovedot, caron
+ key <AB09> { [ period, greater, U0307, U030C ] };
+ // hook
+ key <AB10> { [ slash, question, questiondown, 0309 ] };
+
+ // alt-intl compatibility
+ // cedilla, caron
+ key <AB08> { [ comma, less, U0327, U030C ] };
+ // ogonek, diaeresis
+ key <AC10> { [ semicolon, colon, U0328, U0308 ] };
+ // doubleacute, horn
+ key <AE12> { [ equal, plus, U030B, U031B ] };
+
+ // we don't do combining latin letters and combining enclosures
+ // because support for those is very rare.
+};
+
+// XCompose is out! Unicode combining is in! For those of us who live
+// on the edge: A keymap using Unicode combining characters instead of
+// deadkeys. This variation does break compatibility with us-intl,
+// whenever I thought it would be more mnemonic or Unicodeish.
+partial alphanumeric_keys
+xkb_symbols "alt-intl-unicode" {
+
+ name[Group1]= "English (US, international AltGr Unicode combining, alternative)";
+
+ include "extras/us(intl-unicode)"
+ include "level3(ralt_switch)"
+
+ // easier macron; em-dash.
+ // em-dash is available via compose, but I added here since it's such
+ // an important typographic character.
+ key <AE11> { [ minus, underscore, U0304, U2014 ] };
+
+ // belowdot, abovedot (caron at coma/less key, per above)
+ key <AB09> { [ period, greater, U0323, U0307 ] };
+
+};
+
+partial alphanumeric_keys
+xkb_symbols "ats" {
+
+ include "us"
+
+ name[Group1]= "Atsina";
+
+ //Using Dead key to get COMBINING COMMA ABOVE for ejectives on
+ //q, l, t, s, m, g, k, p, w, y, r
+ //XCompose key is used for the other accute and grave.
+
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD11> { [ bracketleft, braceleft, U03B8 ] };
+ key <AD12> { [ bracketright, braceright, U010D, U010C ] };
+ //U+010C (uppercase Č) and U+010D (lowercase č).
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+
+
+ //Small letter Open use compose to key get acute accent
+ key <AB03> { [ c, C, U0254, U0186 ] };
+ key <AB08> { [ comma, less, U0313 ] };
+ key <AB10> { [ slash, question, U0294 ] };
+
+ include "level3(ralt_switch)"
+ include "compose(rctrl)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "crd" {
+
+ include "us"
+
+ name[Group1]= "Couer D'alene Salish";
+
+ // Alphanumeric section
+ key <AD02> { [ w, W, U02B7, U02B7 ] };
+ key <AE07> { [ 7, ampersand, U0294 ] };
+ key <AD01> { [ q, Q, U221A ] };
+ key <AB04> { [ v, V, U0259 ] };
+ key <BKSL> { [ backslash, bar, U026B ] };
+ key <AD03> { [ e, E, U025B ] };
+ key <AD08> { [ i, I, U026A ] };
+ key <AC07> { [ j, J, U01F0 ] };
+ key <AE06> { [ 6, asciicircum, U0295 ] };
+ key <AC02> { [ s, S, U0161 ] };
+ key <AB03> { [ c, C, U010D ] };
+ key <AD09> { [ o, O, U0254 ] };
+ key <AB09> { [ period, greater, U0323 ] };
+
+ include "level3(ralt_switch)"
+ include "compose(rctrl)"
+
+ // End alphanumeric section
+};