blob: bc800fa71ed47d89180dcde7366a31f2b7d68bf0 [file] [log] [blame]
--- xkeyboard-config-2.15/symbols/us.orig 2017-06-16 14:30:32.734107967 -0400
+++ xkeyboard-config-2.15/symbols/us 2017-06-16 14:31:56.686035932 -0400
@@ -1562,3 +1562,79 @@
xkb_symbols "sun_type6" {
include "sun_vndr/us(sun_type6)"
};
+
+// ChromeOS PC-style US/BR International layout.
+//
+// Note that this layout requires special handling of the non-standard
+// dead key keysyms, and will not work on other systems using XKB.
+// Keysyms expressed numerically in the 0x0800xxxx range are mapped to
+// DomKey::Dead<U+xxxx>. The dead keys in this layout encode printable
+// characters (e.g. 0x08000027 -> Dead<U+0027> = Dead<APOSTROPHE>),
+// whereas the regular XKB dead_* keysyms encode combining characters
+// (e.g. dead_acute -> Dead<U+0301> = Dead<COMBINING ACUTE ACCENT>)
+// and the two are handled differently by character composition.
+//
+// Reference:
+// https://en.wikipedia.org/wiki/File:KB_US-International.svg
+//
+partial alphanumeric_keys
+xkb_symbols "intl_pc" {
+
+ include "us(basic)"
+ name[Group1]= "English (US, international with PC-style dead keys)";
+
+ key <TLDE> { [0x08000060, 0x0800007E, grave, asciitilde ] };
+ key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
+ key <AE02> { [ 2, at, twosuperior, twosuperior ] };
+ key <AE03> { [ 3, numbersign, threesuperior, threesuperior ] };
+ key <AE04> { [ 4, dollar, currency, sterling ] };
+ key <AE05> { [ 5, percent, EuroSign, U20A2 ] };
+ key <AE06> { [ 6, 0x0800005E, onequarter, asciicircum ] };
+ key <AE07> { [ 7, ampersand, onehalf, onehalf ] };
+ key <AE08> { [ 8, asterisk, threequarters, threequarters ] };
+ key <AE09> { [ 9, parenleft, leftsinglequotemark, leftsinglequotemark ] };
+ key <AE10> { [ 0, parenright, rightsinglequotemark, rightsinglequotemark ] };
+ key <AE11> { [ minus, underscore, yen, yen ] };
+ key <AE12> { [ equal, plus, multiply, division ] };
+
+ key <AD01> { [ q, Q, adiaeresis, Adiaeresis ] };
+ key <AD02> { [ w, W, aring, Aring ] };
+ key <AD03> { [ e, E, eacute, Eacute ] };
+ key <AD04> { [ r, R, registered, registered ] };
+ key <AD05> { [ t, T, thorn, THORN ] };
+ key <AD06> { [ y, Y, udiaeresis, Udiaeresis ] };
+ key <AD07> { [ u, U, uacute, Uacute ] };
+ key <AD08> { [ i, I, iacute, Iacute ] };
+ key <AD09> { [ o, O, oacute, Oacute ] };
+ key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
+ key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
+ key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
+
+ 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 <AC10> { [ semicolon, colon, paragraph, degree ] };
+ key <AC11> { [0x08000027, 0x08000022, 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 ] };
+ key <AB09> { [ period, greater, period, greater ] };
+ key <AB10> { [ slash, question, questiondown, questiondown ] };
+ key <BKSL> { [ backslash, bar, notsign, brokenbar ] };
+ key <LSGT> { [ backslash, bar, backslash, bar ] };
+
+ include "level3(ralt_switch)"
+};