aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/symbols/extras/us
blob: 45d9954cf8a3b4e556ee4de2ade5a2ab89849639 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// 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]= "USA - 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]= "USA - 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]= "USA - 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]= "USA - 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
};