added us(crd) to extras
[xorg/xkeyboard-config] / symbols / extras / us
1 // XCompose is out! Unicode combining is in!  For those of us who live
2 // on the edge: A keymap using Unicode combining characters instead of
3 // deadkeys.  This variation does not deviate from the lame MS-style
4 // US-intl layout; but it uses AltGr for combining, like altgr-intl.
5 //
6 // This might break your font layout layout systems (because they
7 // suck), caveat emptor.  Also, most of today's software will count
8 // individual combining marks for selection, deletion, character
9 // counting &c., and won't be smart enough to do canonical equivalence
10 // when searching, &c.
11 //
12 // With Unicode combining you use "handwriting order", not
13 // "typewriting order" as with deadkeys.  That is, you first type the
14 // base character, then the diacritics/accents/modifiers.  This has
15 // the advantage of avoiding hidden states --- each keypress changes
16 // something on screen.
17 //
18 // TODO: as of now, this duplicates all us(intl) functionality with
19 // combining.  With care, perhaps we could add more combining marks
20 // not present in intl, and support all major languages.
21 partial alphanumeric_keys
22 xkb_symbols "intl-unicode" {
23
24  name[Group1]= "USA - International (AltGr Unicode combining)";
25
26  include "us(intl)"
27  include "level3(ralt_switch)"
28
29  // grave, tilde
30  key <TLDE> { [grave, asciitilde, U0300, U0303 ] };
31  // double acute
32  key <AE02> { [ 2, at, twosuperior, U030B ] };
33  // macron
34  key <AE03> { [ 3, numbersign, threesuperior, U0304 ] };
35  // circumflex
36  key <AE06> { [ 6, asciicircum, onequarter, U0302 ] };
37  // horn
38  key <AE07> { [ 7, ampersand, onehalf, U031B ] };
39  // ogonek
40  key <AE08> { [ 8, asterisk, threequarters, U0328 ] };
41  // breve
42  key <AE09> { [  9, parenleft, leftsinglequotemark, U0306 ] };
43  // abovering
44  key <AE10> { [  0, parenright, rightsinglequotemark, U030A ] };
45
46  // belowdot
47  key <AE11> { [ minus, underscore, yen, U0323 ] };
48  // acute, diaeresis
49  key <AC11> { [apostrophe, quotedbl, U0301, U0308 ] };
50  // abovedot, caron
51  key <AB09> { [ period, greater, U0307, U030C ] };
52  // hook
53  key <AB10> { [ slash, question, questiondown, 0309 ] };
54
55  // alt-intl compatibility
56  // cedilla, caron
57  key <AB08> { [ comma, less,     U0327, U030C ] };
58  // ogonek, diaeresis
59  key <AC10> { [ semicolon, colon,        U0328, U0308 ] };
60  // doubleacute, horn
61  key <AE12> { [ equal, plus,     U030B, U031B ] };
62
63  // we don't do combining latin letters and combining enclosures
64  // because support for those is very rare.
65 };
66
67 // XCompose is out! Unicode combining is in! For those of us who live
68 // on the edge: A keymap using Unicode combining characters instead of
69 // deadkeys. This variation does break compatibility with us-intl,
70 // whenever I thought it would be more mnemonic or Unicodeish.
71 partial alphanumeric_keys
72 xkb_symbols "alt-intl-unicode" {
73
74  name[Group1]= "USA - International (AltGr Unicode combining, alternative)";
75
76  include "extras/us(intl-unicode)"
77  include "level3(ralt_switch)"
78
79  // easier macron; em-dash.
80  // em-dash is available via compose, but I added here since it's such
81  // an important typographic character.
82  key <AE11> { [ minus, underscore, U0304, U2014 ] };
83
84  // belowdot, abovedot (caron at coma/less key, per above)
85  key <AB09> { [ period, greater, U0323, U0307 ] };
86
87 };
88
89 partial alphanumeric_keys  
90 xkb_symbols "ats" {
91
92     include "us"
93
94     name[Group1]= "USA - Atsina";
95
96     //Using Dead key to get COMBINING COMMA ABOVE for ejectives on
97     //q, l, t, s, m, g, k, p, w, y, r
98     //XCompose key is used for the other accute and grave.
99
100     key <AD03> { [ e, E, eacute, Eacute  ] };
101     key <AD07> { [ u, U, uacute, Uacute  ] };
102     key <AD08> { [ i, I, iacute, Iacute  ] };
103     key <AD09> { [ o, O, oacute, Oacute  ] };
104     key <AD11> { [ bracketleft, braceleft, U03B8 ] };
105     key <AD12> { [ bracketright, braceright, U010D, U010C ] };
106     //U+010C (uppercase Č) and U+010D (lowercase č).
107
108     key <AC01> { [ a, A, aacute, Aacute  ] };
109
110
111     //Small letter Open use compose to key get acute accent
112     key <AB03> { [ c,   C, U0254, U0186           ] };
113     key <AB08> { [ comma,     less, U0313 ] };
114     key <AB10> { [ slash, question, U0294 ] };
115
116     include "level3(ralt_switch)"
117     include "compose(rctrl)"
118 };
119
120 partial alphanumeric_keys
121 xkb_symbols "crd" {
122
123   include "us"
124
125   name[Group1]= "USA - Couer D'alene Salish";
126
127   // Alphanumeric section
128   key <AD02> { [         w,           W, U02B7, U02B7 ] }; 
129   key <AE07> { [         7,   ampersand, U0294        ] }; 
130   key <AD01> { [         q,           Q, U221A        ] }; 
131   key <AB04> { [         v,           V, U0259        ] }; 
132   key <BKSL> { [ backslash,         bar, U026B        ] }; 
133   key <AD03> { [         e,           E, U025B        ] }; 
134   key <AD08> { [         i,           I, U026A        ] }; 
135   key <AC07> { [         j,           J, U01F0        ] }; 
136   key <AE06> { [         6, asciicircum, U0295        ] }; 
137   key <AC02> { [         s,           S, U0161        ] }; 
138   key <AB03> { [         c,           C, U010D        ] }; 
139   key <AD09> { [         o,           O, U0254        ] }; 
140   key <AB09> { [    period,     greater, U0323        ] }; 
141
142   include "level3(ralt_switch)"
143   include "compose(rctrl)"
144
145   // End alphanumeric section
146 };
147