added evdev b.fd.o#5903
[xorg/xkeyboard-config] / keycodes / evdev
1 // translation from evdev scancodes to something resembling xfree86 keycodes.
2
3 default xkb_keycodes "evdev" {
4         minimum = 8;
5         maximum = 255;
6
7         <TLDE> = 49;
8         <AE01> = 10;
9         <AE02> = 11;
10         <AE03> = 12;
11         <AE04> = 13;
12         <AE05> = 14;
13         <AE06> = 15;
14         <AE07> = 16;
15         <AE08> = 17;
16         <AE09> = 18;
17         <AE10> = 19;
18         <AE11> = 20;
19         <AE12> = 21;
20         <BKSP> = 22;
21
22         <TAB> = 23;
23         <AD01> = 24;
24         <AD02> = 25;
25         <AD03> = 26;
26         <AD04> = 27;
27         <AD05> = 28;
28         <AD06> = 29;
29         <AD07> = 30;
30         <AD08> = 31;
31         <AD09> = 32;
32         <AD10> = 33;
33         <AD11> = 34;
34         <AD12> = 35;
35         <BKSL> = 51;
36         <RTRN> = 36;
37
38         <CAPS> = 66;
39         <AC01> = 38;
40         <AC02> = 39;
41         <AC03> = 40;
42         <AC04> = 41;
43         <AC05> = 42;
44         <AC06> = 43;
45         <AC07> = 44;
46         <AC08> = 45;
47         <AC09> = 46;
48         <AC10> = 47;
49         <AC11> = 48;
50
51         <LFSH> = 50;
52         <AB01> = 52;
53         <AB02> = 53;
54         <AB03> = 54;
55         <AB04> = 55;
56         <AB05> = 56;
57         <AB06> = 57;
58         <AB07> = 58;
59         <AB08> = 59;
60         <AB09> = 60;
61         <AB10> = 61;
62         <RTSH> = 62;
63
64         <LALT> = 64;
65         <LCTL> = 37;
66         <SPCE> = 65;
67         <RCTL> = 105;
68         <RALT> = 108;
69         // Microsoft keyboard extra keys
70         <LWIN> = 133;
71         <RWIN> = 134;
72         <MENU> = 135;
73
74         <ESC> = 9;
75         <FK01> = 67;
76         <FK02> = 68;
77         <FK03> = 69;
78         <FK04> = 70;
79         <FK05> = 71;
80         <FK06> = 72;
81         <FK07> = 73;
82         <FK08> = 74;
83         <FK09> = 75;
84         <FK10> = 76;
85         <FK11> = 95;
86         <FK12> = 96;
87
88         <PRSC> = 107;
89         // <SYRQ> = 107;
90         <SCLK> = 78;
91         <PAUS> = 127;
92         // <BRK> = 419;
93
94         <INS> = 118;
95         <HOME> = 110;
96         <PGUP> = 112;
97         <DELE> = 119;
98         <END> = 115;
99         <PGDN> = 117;
100
101         <UP> = 111;
102         <LEFT> = 113;
103         <DOWN> = 116;
104         <RGHT> = 114;
105
106         <NMLK> = 77;
107         <KPDV> = 106;
108         <KPMU> = 63;
109         <KPSU> = 82;
110
111         <KP7> = 79;
112         <KP8> = 80;
113         <KP9> = 81;
114         <KPAD> = 86;
115
116         <KP4> = 83;
117         <KP5> = 84;
118         <KP6> = 85;
119
120         <KP1> = 87;
121         <KP2> = 88;
122         <KP3> = 89;
123         <KPEN> = 104;
124
125         <KP0> = 90;
126         <KPDL> = 91;
127         // <KPEQ> = 126;
128
129         <FK13> = 191;
130         <FK14> = 192;
131         <FK15> = 193;
132         <FK16> = 194;
133         <FK17> = 195;
134         // <KPDC> = 123;
135
136         // Keys that are generated on Japanese keyboards
137
138         // alias <HZTG> = <TLDE>;       // Hankaku_Zenkaku toggle
139         // <HZTG> =  85;               // Hankaku/Zenkakau toggle
140         // <HKTG> =  93;                // Hiragana/Katakana toggle
141         // <AB11> = 211;                // backslash/underscore
142         // <XFER> =  92;                // Henkan
143         // <NFER> =  94;                // Muhenkan
144         // <AE13> = 124;                // Yen
145
146         // Keys that are generated on Korean keyboards
147
148         // alias <HNGL> = <FK16>;     // Hangul Latin toggle
149         // alias <HJCV> = <FK17>;     // Hangul to Hanja conversion
150         <HNGL> = 130;
151         <HJCV> = 131;
152
153         // Extended keys that may be generated on "Internet" keyboards.
154         // These are not standardised, hence the meaningless names.
155         // The entries commented out are never generated because the raw codes
156         // in those positions are already used for well-defined keys.
157
158         // evdev does standardize names for these though.  comment them
159         // all out for now.
160
161         // alias <I01> = <XFER>;
162         // <I02> =   130;
163         // alias <I03> = <NFER>;
164         // <I04> =   132;
165         // alias <I05> = <AE13>;
166         // <I06> =   134;
167         // <I07> =   135;
168         // <I08> =   136;
169         // <I09> =   137;
170         // <I0A> =   138;
171         // <I0B> =   139;
172         // <I0C> =   140;
173         // <I0D> =   141;
174         // <I0E> =   142;
175         // <I0F> =   143;
176         // <I10> =   144;
177         // <I11> =   145;
178         // <I12> =   146;
179         // <I13> =   147;
180         // <I14> =   148;
181         // <I15> =   149;
182         // <I16> =   150;
183         // <I17> =   151;
184         // <I18> =   152;
185         // <I19> =   153;
186         // <I1A> =   154;
187         // <I1B> =   155;
188         // <I1C> =   156;       <META>
189         // <I1D> =   157;       <K59>
190         // <I1E> =   158;
191         // <I1F> =   159;
192         // <I20> =   160;
193         // <I21> =   161;
194         // <I22> =   162;
195         // <I23> =   163;
196         // <I24> =   164;
197         // <I25> =   165;
198         // <I26> =   166;
199         // <I27> =   167;
200         // <I28> =   168;
201         // <I29> =   169;
202         // <I2A> =   170;       <K5A>
203         // <I2B> =   171;
204         // <I2C> =   172;
205         // <I2D> =   173;
206         // <I2E> =   174;
207         // <I2F> =   175;
208         // <I30> =   176;
209         // <I31> =   177;
210         // <I32> =   178;
211         // <I33> =   179;
212         // <I34> =   180;
213         // <I35> =   181;       <K5B>
214         // <I36> =   182;       <K5D>
215         // <I37> =   183;       <K5E>
216         // <I38> =   184;       <K5F>
217         // <I39> =   185;
218         // <I3A> =   186;
219         // <I3B> =   187;
220         // <I3C> =   188;
221         // <I3D> =   189;       <K62>
222         // <I3E> =   190;       <K63>
223         // <I3F> =   191;       <K64>
224         // <I40> =   192;       <K65>
225         // <I41> =   193;       <K66>
226         // <I42> =   194;
227         // <I43> =   195;
228         // <I44> =   196;
229         // <I45> =   197;
230         // <I46> =   198;       <K67>
231         // <I47> =   199;       <K68>
232         // <I48> =   200;       <K69>
233         // <I49> =   201;       <K6A>
234         // <I4A> =   202;
235         // <I4B> =   203;       <K6B>
236         // <I4C> =   204;       <K6C>
237         // <I4D> =   205;       <K6D>
238         // <I4E> =   206;       <K6E>
239         // <I4F> =   207;       <K6F>
240         // <I50> =   208;       <K70>
241         // <I51> =   209;       <K71>
242         // <I52> =   210;       <K72>
243         // <I53> =   211;       <K73>
244         // <I54> =   212;
245         // <I55> =   213;
246         // <I56> =   214;
247         // <I57> =   215;
248         // <I58> =   216;
249         // <I59> =   217;
250         // <I5A> =   218;
251         // <I5B> =   219;       <K74>
252         // <I5C> =   220;       <K75>
253         // <I5D> =   221;       <K76>
254         // <I5E> =   222;
255         // <I5F> =   223;
256         // <I60> =   224;
257         // <I61> =   225;
258         // <I62> =   226;
259         // <I63> =   227;
260         // <I64> =   228;
261         // <I65> =   229;
262         // <I66> =   230;
263         // <I67> =   231;
264         // <I68> =   232;
265         // <I69> =   233;
266         // <I6A> =   234;
267         // <I6B> =   235;
268         // <I6C> =   236;
269         // <I6D> =   237;
270         // <I6E> =   238;
271         // <I6F> =   239;
272         // <I70> =   240;
273         // <I71> =   241;
274         // <I72> =   242;
275         // <I73> =   243;
276         // <I74> =   244;
277         // <I75> =   245;
278         // <I76> =   246;
279         // <I77> =   247;
280         // <I78> =   248;
281         // <I79> =   249;
282         // <I7A> =   250;
283         // <I7B> =   251;
284         // <I7C> =   252;
285         // <I7D> =   253;
286         // <I7E> =   254;
287         // <I7F> =   255;
288
289         // Codes generated for scancodes 0x59-0x5f, 0x62-0x76
290         // <K59> =   157;               // <I1D>
291         // <K5A> =   170;               // <I2A>
292         // <K5B> =   181;               // <I35>
293         // alias <K5C> = <KPEQ>;
294         // <K5D> =   182;               // <I36>
295         // <K5E> =   183;               // <I37>
296         // <K5F> =   184;               // <I38>
297         // <K62> =   189;               // <I3D>
298         // <K63> =   190;               // <I3E>
299         // <K64> =   191;               // <I3F>
300         // <K65> =   192;               // <I40>
301         // <K66> =   193;               // <I41>
302         // <K67> =   198;               // <I46>
303         // <K68> =   199;               // <I47>
304         // <K69> =   200;               // <I48>
305         // <K6A> =   201;               // <I49>
306         // <K6B> =   203;               // <I4B>
307         // <K6C> =   204;               // <I4C>
308         // <K6D> =   205;               // <I4D>
309         // <K6E> =   206;               // <I4E>
310         // <K6F> =   207;               // <I4F>
311         // alias <K70> = <HKTG>;        // <I50>
312         // <K71> =   209;               // <I51>
313         // <K72> =   210;               // <I52>
314         // alias <K73> = <AB11>;        // <I53>
315         // <K74> =   219;               // <I5B>
316         // <K75> =   220;               // <I5C>
317         // <K76> =   221;               // <I5D>
318
319         // Solaris compatibility
320
321         // alias <LMTA> = <LWIN>;
322         // alias <RMTA> = <RWIN>;
323         // alias <COMP> = <MENU>;
324         // alias <POWR> = <I0C>;
325         // alias <MUTE> = <I0D>;
326         // alias <VOL-> = <I0E>;
327         // alias <VOL+> = <I0F>;
328         // alias <HELP> = <I10>;
329         // alias <STOP> = <I11>;
330         // alias <AGAI> = <I12>;
331         // alias <PROP> = <I13>;
332         // alias <UNDO> = <I14>;
333         // alias <FRNT> = <I15>;
334         // alias <COPY> = <I16>;
335         // alias <OPEN> = <I17>;
336         // alias <PAST> = <I18>;
337         // alias <FIND> = <I19>;
338         // alias <CUT>  = <I1A>;
339
340         // Other codes never generated.  The XFree86 ddx never generates
341         // these codes.
342         // Thus we can use them as fake keys
343         // <MDSW> =    93; // <U5D>
344         // <LVL3> =   124; // <U7C>
345         // <ALT>  =   125; // <U7D>
346         // <META> =   156; // <I1C>
347         // <SUPR> =   127; // <U7F>
348         // <HYPR> =   128; // <U80>
349
350         indicator 1 = "Caps Lock";
351         indicator 2 = "Num Lock";
352         indicator 3 = "Scroll Lock";
353
354         alias <ALGR> = <RALT>;
355 };