10412cdedSmrg// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
2154daed1Smrg//
3154daed1Smrg//Copyright 1996, 1998  The Open Group
4154daed1Smrg//
5154daed1Smrg//Permission to use, copy, modify, distribute, and sell this software and its
6154daed1Smrg//documentation for any purpose is hereby granted without fee, provided that
7154daed1Smrg//the above copyright notice appear in all copies and that both that
8154daed1Smrg//copyright notice and this permission notice appear in supporting
9154daed1Smrg//documentation.
10154daed1Smrg//
11154daed1Smrg//The above copyright notice and this permission notice shall be
12154daed1Smrg//included in all copies or substantial portions of the Software.
13154daed1Smrg//
14154daed1Smrg//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15154daed1Smrg//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16154daed1Smrg//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17154daed1Smrg//IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
18154daed1Smrg//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19154daed1Smrg//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20154daed1Smrg//OTHER DEALINGS IN THE SOFTWARE.
21154daed1Smrg//
22154daed1Smrg//Except as contained in this notice, the name of The Open Group shall
23154daed1Smrg//not be used in advertising or otherwise to promote the sale, use or
24154daed1Smrg//other dealings in this Software without prior written authorization
25154daed1Smrg//from The Open Group.
26154daed1Smrg//
27154daed1Smrg
280412cdedSmrgxkb_keycodes "type6" {
29154daed1Smrg
30154daed1Smrg    minimum= 8;
310412cdedSmrg    maximum= 132;
32154daed1Smrg
33154daed1Smrg    <ESC>  = 36;
34154daed1Smrg    <AE01> = 37;
35154daed1Smrg    <AE02> = 38;
36154daed1Smrg    <AE03> = 39;
37154daed1Smrg    <AE04> = 40;
38154daed1Smrg    <AE05> = 41;
39154daed1Smrg    <AE06> = 42;
40154daed1Smrg    <AE07> = 43;
41154daed1Smrg    <AE08> = 44;
42154daed1Smrg    <AE09> = 45;
43154daed1Smrg    <AE10> = 46;
44154daed1Smrg    <AE11> = 47;
45154daed1Smrg    <AE12> = 48;
46154daed1Smrg    <TLDE> = 49;
47154daed1Smrg    <BKSP> = 50;
48154daed1Smrg
49154daed1Smrg    <TAB>  = 60;
50154daed1Smrg    <AD01> = 61;
51154daed1Smrg    <AD02> = 62;
52154daed1Smrg    <AD03> = 63;
53154daed1Smrg    <AD04> = 64;
54154daed1Smrg    <AD05> = 65;
55154daed1Smrg    <AD06> = 66;
56154daed1Smrg    <AD07> = 67;
57154daed1Smrg    <AD08> = 68;
58154daed1Smrg    <AD09> = 69;
59154daed1Smrg    <AD10> = 70;
60154daed1Smrg    <AD11> = 71;
61154daed1Smrg    <AD12> = 72;
62154daed1Smrg    <DELE> = 73;
63154daed1Smrg    <COMP> = 74;
64154daed1Smrg    <ALGR> = 20;
65154daed1Smrg    alias <RALT> = <ALGR>;
66154daed1Smrg
67154daed1Smrg    <LCTL> = 83;
68154daed1Smrg    <AC01> = 84;
69154daed1Smrg    <AC02> = 85;
70154daed1Smrg    <AC03> = 86;
71154daed1Smrg    <AC04> = 87;
72154daed1Smrg    <AC05> = 88;
73154daed1Smrg    <AC06> = 89;
74154daed1Smrg    <AC07> = 90;
75154daed1Smrg    <AC08> = 91;
76154daed1Smrg    <AC09> = 92;
77154daed1Smrg    <AC10> = 93;
78154daed1Smrg    <AC11> = 94;
79154daed1Smrg    <BKSL> = 95;
80154daed1Smrg    <RTRN> = 96;
81154daed1Smrg
82154daed1Smrg    <LFSH> = 106;
83154daed1Smrg    <AB01> = 107;
84154daed1Smrg    <AB02> = 108;
85154daed1Smrg    <AB03> = 109;
86154daed1Smrg    <AB04> = 110;
87154daed1Smrg    <AB05> = 111;
88154daed1Smrg    <AB06> = 112;
89154daed1Smrg    <AB07> = 113;
90154daed1Smrg    <AB08> = 114;
91154daed1Smrg    <AB09> = 115;
92154daed1Smrg    <AB10> = 116;
93154daed1Smrg    <RTSH> = 117;
94154daed1Smrg
95154daed1Smrg    <LALT> = 26;
96154daed1Smrg    <CAPS> = 126;
97154daed1Smrg    <LMTA> = 127;
98154daed1Smrg    <SPCE> = 128;
99154daed1Smrg    <RMTA> = 129;
100154daed1Smrg
101154daed1Smrg    <FK01> = 12;
102154daed1Smrg    <FK02> = 13;
103154daed1Smrg    <FK03> = 15;
104154daed1Smrg    <FK04> = 17;
105154daed1Smrg    <FK05> = 19;
106154daed1Smrg    <FK06> = 21;
107154daed1Smrg    <FK07> = 23;
108154daed1Smrg    <FK08> = 24;
109154daed1Smrg    <FK09> = 25;
110154daed1Smrg    <FK10> = 14;
111154daed1Smrg    <FK11> = 16;
112154daed1Smrg    <FK12> = 18;
113154daed1Smrg    <STOP> = 8;
114154daed1Smrg    <AGAI> = 10;
115154daed1Smrg    <PROP> = 32;
116154daed1Smrg    <UNDO> = 33;
117154daed1Smrg    <FRNT> = 56;
118154daed1Smrg    <COPY> = 58;
119154daed1Smrg    <OPEN> = 79;
120154daed1Smrg    <PAST> = 80;
121154daed1Smrg    <FIND> = 102;
122154daed1Smrg    <CUT>  = 104;
123154daed1Smrg
124154daed1Smrg    <PRSC> = 29;
125154daed1Smrg    <SCLK> = 30;
126154daed1Smrg    <PAUS> = 28;
127154daed1Smrg
128154daed1Smrg    <NMLK> = 105;
129154daed1Smrg    <KPDV> = 53;
130154daed1Smrg    <KPMU> = 54;
131154daed1Smrg    <KPSU> = 78;
132154daed1Smrg
133154daed1Smrg    <KP7>  = 75;
134154daed1Smrg    <KP8>  = 76;
135154daed1Smrg    <KP9>  = 77;
136154daed1Smrg    <KPAD> = 132;
137154daed1Smrg
138154daed1Smrg    <KP4>  = 98;
139154daed1Smrg    <KP5>  = 99;
140154daed1Smrg    <KP6>  = 100;
141154daed1Smrg
142154daed1Smrg    <KP1>  = 119;
143154daed1Smrg    <KP2>  = 120;
144154daed1Smrg    <KP3>  = 121;
145154daed1Smrg    <KPEN> = 97;
146154daed1Smrg
147154daed1Smrg    <KP0>  = 101;
148154daed1Smrg    <KPDL> = 57;
149154daed1Smrg
150154daed1Smrg    <UP>   = 27;
151154daed1Smrg    <LEFT> = 31;
152154daed1Smrg    <DOWN> = 34;
153154daed1Smrg    <RGHT> = 35;
154154daed1Smrg
155154daed1Smrg    <INS>  = 51;
156154daed1Smrg    <HOME> = 59;
157154daed1Smrg    <END>  = 81;
158154daed1Smrg    <PGUP> = 103;
159154daed1Smrg    <PGDN> = 130;
160154daed1Smrg    <HELP> = 125;
161154daed1Smrg
162154daed1Smrg    <MUTE> = 52;
163154daed1Smrg    <VOL-> = 9;
164154daed1Smrg    <VOL+> = 11;
165154daed1Smrg    <POWR> = 55;
166154daed1Smrg    indicator 4 = "Caps Lock";
167154daed1Smrg    indicator 3 = "Compose";
168154daed1Smrg    indicator 2 = "Scroll Lock";
169154daed1Smrg    indicator 1 = "Num Lock";
170154daed1Smrg};
171154daed1Smrg
172154daed1Smrg
1730412cdedSmrgxkb_keycodes "type6tuv" {
1740412cdedSmrg    include "sun(type6)"
175154daed1Smrg    <LSGT> = 131;
176154daed1Smrg};
177154daed1Smrg
1780412cdedSmrgxkb_keycodes "type6_jp" {
1790412cdedSmrg    include "sun(type6)"
180154daed1Smrg    <EXEC> = 122;
181154daed1Smrg    <KANJ> = 123;
182154daed1Smrg    <HENK> = 124;
183154daed1Smrg    <UNDR> = 118;
184154daed1Smrg};
185154daed1Smrg
1860412cdedSmrgxkb_keycodes "type6_euro" {
1870412cdedSmrg    include "sun(type6)"
188154daed1Smrg    <LSGT> = 131;
189154daed1Smrg};
190154daed1Smrg
1910412cdedSmrgxkb_keycodes "type6unix" {
1920412cdedSmrg    include "sun(type6)"
1930412cdedSmrg};
194154daed1Smrg
1950412cdedSmrg// Even though this is labeled as _usb, I verified these keycodes as accurate
1960412cdedSmrg// on my type5 serial and type6 serial keyboards as well on linux-2.6 boxes.
1970412cdedSmrg// I'm not sure where the "type6" keycodes above are coming from...
1980412cdedSmrgdefault xkb_keycodes "type6_usb" {
1990412cdedSmrg    include "xfree86"
200154daed1Smrg
2010412cdedSmrg//    <STOP> = 232;
2020412cdedSmrg//    <AGAI> = 133;
2030412cdedSmrg//    <PROP> = 134;
2040412cdedSmrg//    <UNDO> = 135;
2050412cdedSmrg//    <FRNT> = 140;
2060412cdedSmrg//    <COPY> = 248;
2070412cdedSmrg//    <OPEN> = 191;
2080412cdedSmrg//    <PAST> = 192;
2090412cdedSmrg//    <FIND> = 122;
2100412cdedSmrg//    <CUT>  = 188;
211154daed1Smrg
2120412cdedSmrg //   <HELP> = 245;
213154daed1Smrg
2140412cdedSmrg    // The blank has keycode 239 on my type6 serial kb, but 134 on
2150412cdedSmrg    // my type6 usb keyboard (same as <PROP>)
2160412cdedSmrg//    <BLNK> = 239;
217154daed1Smrg
2180412cdedSmrg    // AltGr + PrScr actually sends a different keycode
2190412cdedSmrg//    <SYRQ> = 92;
220154daed1Smrg
2210412cdedSmrg//    <MUTE> = 160;
2220412cdedSmrg//    <VOL-> = 174;
2230412cdedSmrg//    <VOL+> = 176;
2240412cdedSmrg//    <POWR> = 222;
225154daed1Smrg
2260412cdedSmrg      <I150> = 155;
2270412cdedSmrg      <I160> = 160;
2280412cdedSmrg      <I235> = 235;
229154daed1Smrg
2300412cdedSmrg    indicator 4 = "Compose";
2310412cdedSmrg};
232154daed1Smrg
2330412cdedSmrgxkb_keycodes "type6tuv_usb" {
2340412cdedSmrg    include "sun(type6_usb)"
2350412cdedSmrg//    <LSGT> = 94;
2360412cdedSmrg//    <BKSL> = 51;
2370412cdedSmrg};
238154daed1Smrg
239154daed1Smrgxkb_keycodes "type6_jp_usb" {
240154daed1Smrg    include "sun(type6_usb)"
241154daed1Smrg    alias <UNDR> = <KPDC>;  // 123
2420412cdedSmrg    alias <EXEC> = <NFER>;  // 131
2430412cdedSmrg    alias <KANJ> = <XFER>;  // 129
2440412cdedSmrg    alias <HENK> = <HKTG>;  // 208
245154daed1Smrg    indicator 5 = "Kana";
246154daed1Smrg};
247