1 /*
2  * Copyright (C) 2008 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef _ANDROIDFW_KEYCODE_LABELS_H
18 #define _ANDROIDFW_KEYCODE_LABELS_H
19 
20 #include "android_keycodes.h"
21 
22 struct KeycodeLabel {
23     const char *literal;
24     int value;
25 };
26 
27 static const KeycodeLabel KEYCODES[] = {
28     { "SOFT_LEFT", 1 },
29     { "SOFT_RIGHT", 2 },
30     { "HOME", 3 },
31     { "BACK", 4 },
32     { "CALL", 5 },
33     { "ENDCALL", 6 },
34     { "0", 7 },
35     { "1", 8 },
36     { "2", 9 },
37     { "3", 10 },
38     { "4", 11 },
39     { "5", 12 },
40     { "6", 13 },
41     { "7", 14 },
42     { "8", 15 },
43     { "9", 16 },
44     { "STAR", 17 },
45     { "POUND", 18 },
46     { "DPAD_UP", 19 },
47     { "DPAD_DOWN", 20 },
48     { "DPAD_LEFT", 21 },
49     { "DPAD_RIGHT", 22 },
50     { "DPAD_CENTER", 23 },
51     { "VOLUME_UP", 24 },
52     { "VOLUME_DOWN", 25 },
53     { "POWER", 26 },
54     { "CAMERA", 27 },
55     { "CLEAR", 28 },
56     { "A", 29 },
57     { "B", 30 },
58     { "C", 31 },
59     { "D", 32 },
60     { "E", 33 },
61     { "F", 34 },
62     { "G", 35 },
63     { "H", 36 },
64     { "I", 37 },
65     { "J", 38 },
66     { "K", 39 },
67     { "L", 40 },
68     { "M", 41 },
69     { "N", 42 },
70     { "O", 43 },
71     { "P", 44 },
72     { "Q", 45 },
73     { "R", 46 },
74     { "S", 47 },
75     { "T", 48 },
76     { "U", 49 },
77     { "V", 50 },
78     { "W", 51 },
79     { "X", 52 },
80     { "Y", 53 },
81     { "Z", 54 },
82     { "COMMA", 55 },
83     { "PERIOD", 56 },
84     { "ALT_LEFT", 57 },
85     { "ALT_RIGHT", 58 },
86     { "SHIFT_LEFT", 59 },
87     { "SHIFT_RIGHT", 60 },
88     { "TAB", 61 },
89     { "SPACE", 62 },
90     { "SYM", 63 },
91     { "EXPLORER", 64 },
92     { "ENVELOPE", 65 },
93     { "ENTER", 66 },
94     { "DEL", 67 },
95     { "GRAVE", 68 },
96     { "MINUS", 69 },
97     { "EQUALS", 70 },
98     { "LEFT_BRACKET", 71 },
99     { "RIGHT_BRACKET", 72 },
100     { "BACKSLASH", 73 },
101     { "SEMICOLON", 74 },
102     { "APOSTROPHE", 75 },
103     { "SLASH", 76 },
104     { "AT", 77 },
105     { "NUM", 78 },
106     { "HEADSETHOOK", 79 },
107     { "FOCUS", 80 },
108     { "PLUS", 81 },
109     { "MENU", 82 },
110     { "NOTIFICATION", 83 },
111     { "SEARCH", 84 },
112     { "MEDIA_PLAY_PAUSE", 85 },
113     { "MEDIA_STOP", 86 },
114     { "MEDIA_NEXT", 87 },
115     { "MEDIA_PREVIOUS", 88 },
116     { "MEDIA_REWIND", 89 },
117     { "MEDIA_FAST_FORWARD", 90 },
118     { "MUTE", 91 },
119     { "PAGE_UP", 92 },
120     { "PAGE_DOWN", 93 },
121     { "PICTSYMBOLS", 94 },
122     { "SWITCH_CHARSET", 95 },
123     { "BUTTON_A", 96 },
124     { "BUTTON_B", 97 },
125     { "BUTTON_C", 98 },
126     { "BUTTON_X", 99 },
127     { "BUTTON_Y", 100 },
128     { "BUTTON_Z", 101 },
129     { "BUTTON_L1", 102 },
130     { "BUTTON_R1", 103 },
131     { "BUTTON_L2", 104 },
132     { "BUTTON_R2", 105 },
133     { "BUTTON_THUMBL", 106 },
134     { "BUTTON_THUMBR", 107 },
135     { "BUTTON_START", 108 },
136     { "BUTTON_SELECT", 109 },
137     { "BUTTON_MODE", 110 },
138     { "ESCAPE", 111 },
139     { "FORWARD_DEL", 112 },
140     { "CTRL_LEFT", 113 },
141     { "CTRL_RIGHT", 114 },
142     { "CAPS_LOCK", 115 },
143     { "SCROLL_LOCK", 116 },
144     { "META_LEFT", 117 },
145     { "META_RIGHT", 118 },
146     { "FUNCTION", 119 },
147     { "SYSRQ", 120 },
148     { "BREAK", 121 },
149     { "MOVE_HOME", 122 },
150     { "MOVE_END", 123 },
151     { "INSERT", 124 },
152     { "FORWARD", 125 },
153     { "MEDIA_PLAY", 126 },
154     { "MEDIA_PAUSE", 127 },
155     { "MEDIA_CLOSE", 128 },
156     { "MEDIA_EJECT", 129 },
157     { "MEDIA_RECORD", 130 },
158     { "F1", 131 },
159     { "F2", 132 },
160     { "F3", 133 },
161     { "F4", 134 },
162     { "F5", 135 },
163     { "F6", 136 },
164     { "F7", 137 },
165     { "F8", 138 },
166     { "F9", 139 },
167     { "F10", 140 },
168     { "F11", 141 },
169     { "F12", 142 },
170     { "NUM_LOCK", 143 },
171     { "NUMPAD_0", 144 },
172     { "NUMPAD_1", 145 },
173     { "NUMPAD_2", 146 },
174     { "NUMPAD_3", 147 },
175     { "NUMPAD_4", 148 },
176     { "NUMPAD_5", 149 },
177     { "NUMPAD_6", 150 },
178     { "NUMPAD_7", 151 },
179     { "NUMPAD_8", 152 },
180     { "NUMPAD_9", 153 },
181     { "NUMPAD_DIVIDE", 154 },
182     { "NUMPAD_MULTIPLY", 155 },
183     { "NUMPAD_SUBTRACT", 156 },
184     { "NUMPAD_ADD", 157 },
185     { "NUMPAD_DOT", 158 },
186     { "NUMPAD_COMMA", 159 },
187     { "NUMPAD_ENTER", 160 },
188     { "NUMPAD_EQUALS", 161 },
189     { "NUMPAD_LEFT_PAREN", 162 },
190     { "NUMPAD_RIGHT_PAREN", 163 },
191     { "VOLUME_MUTE", 164 },
192     { "INFO", 165 },
193     { "CHANNEL_UP", 166 },
194     { "CHANNEL_DOWN", 167 },
195     { "ZOOM_IN", 168 },
196     { "ZOOM_OUT", 169 },
197     { "TV", 170 },
198     { "WINDOW", 171 },
199     { "GUIDE", 172 },
200     { "DVR", 173 },
201     { "BOOKMARK", 174 },
202     { "CAPTIONS", 175 },
203     { "SETTINGS", 176 },
204     { "TV_POWER", 177 },
205     { "TV_INPUT", 178 },
206     { "STB_POWER", 179 },
207     { "STB_INPUT", 180 },
208     { "AVR_POWER", 181 },
209     { "AVR_INPUT", 182 },
210     { "PROG_RED", 183 },
211     { "PROG_GREEN", 184 },
212     { "PROG_YELLOW", 185 },
213     { "PROG_BLUE", 186 },
214     { "APP_SWITCH", 187 },
215     { "BUTTON_1", 188 },
216     { "BUTTON_2", 189 },
217     { "BUTTON_3", 190 },
218     { "BUTTON_4", 191 },
219     { "BUTTON_5", 192 },
220     { "BUTTON_6", 193 },
221     { "BUTTON_7", 194 },
222     { "BUTTON_8", 195 },
223     { "BUTTON_9", 196 },
224     { "BUTTON_10", 197 },
225     { "BUTTON_11", 198 },
226     { "BUTTON_12", 199 },
227     { "BUTTON_13", 200 },
228     { "BUTTON_14", 201 },
229     { "BUTTON_15", 202 },
230     { "BUTTON_16", 203 },
231     { "LANGUAGE_SWITCH", 204 },
232     { "MANNER_MODE", 205 },
233     { "3D_MODE", 206 },
234     { "CONTACTS", 207 },
235     { "CALENDAR", 208 },
236     { "MUSIC", 209 },
237     { "CALCULATOR", 210 },
238     { "ZENKAKU_HANKAKU", 211 },
239     { "EISU", 212 },
240     { "MUHENKAN", 213 },
241     { "HENKAN", 214 },
242     { "KATAKANA_HIRAGANA", 215 },
243     { "YEN", 216 },
244     { "RO", 217 },
245     { "KANA", 218 },
246     { "ASSIST", 219 },
247     { "BRIGHTNESS_DOWN", 220 },
248     { "BRIGHTNESS_UP", 221 },
249     { "MEDIA_AUDIO_TRACK", 222 },
250     { "SLEEP", 223 },
251     { "WAKEUP", 224 },
252     { "PAIRING", 225 },
253     { "MEDIA_TOP_MENU", 226 },
254     { "11", 227 },
255     { "12", 228 },
256     { "LAST_CHANNEL", 229 },
257     { "TV_DATA_SERVICE", 230 },
258     { "VOICE_ASSIST", 231 },
259     { "TV_RADIO_SERVICE", 232 },
260     { "TV_TELETEXT", 233 },
261     { "TV_NUMBER_ENTRY", 234 },
262     { "TV_TERRESTRIAL_ANALOG", 235 },
263     { "TV_TERRESTRIAL_DIGITAL", 236 },
264     { "TV_SATELLITE", 237 },
265     { "TV_SATELLITE_BS", 238 },
266     { "TV_SATELLITE_CS", 239 },
267     { "TV_SATELLITE_SERVICE", 240 },
268     { "TV_NETWORK", 241 },
269     { "TV_ANTENNA_CABLE", 242 },
270     { "TV_INPUT_HDMI_1", 243 },
271     { "TV_INPUT_HDMI_2", 244 },
272     { "TV_INPUT_HDMI_3", 245 },
273     { "TV_INPUT_HDMI_4", 246 },
274     { "TV_INPUT_COMPOSITE_1", 247 },
275     { "TV_INPUT_COMPOSITE_2", 248 },
276     { "TV_INPUT_COMPONENT_1", 249 },
277     { "TV_INPUT_COMPONENT_2", 250 },
278     { "TV_INPUT_VGA_1", 251 },
279     { "TV_AUDIO_DESCRIPTION", 252 },
280     { "TV_AUDIO_DESCRIPTION_MIX_UP", 253 },
281     { "TV_AUDIO_DESCRIPTION_MIX_DOWN", 254 },
282     { "TV_ZOOM_MODE", 255 },
283     { "TV_CONTENTS_MENU", 256 },
284     { "TV_MEDIA_CONTEXT_MENU", 257 },
285     { "TV_TIMER_PROGRAMMING", 258 },
286     { "HELP", 259 },
287 
288     // NOTE: If you add a new keycode here you must also add it to several other files.
289     //       Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
290 
291     { NULL, 0 }
292 };
293 
294 // NOTE: If you edit these flags, also edit policy flags in Input.h.
295 static const KeycodeLabel FLAGS[] = {
296     { "WAKE", 0x00000001 },
297     { "WAKE_DROPPED", 0x00000002 },
298     { "SHIFT", 0x00000004 },
299     { "CAPS_LOCK", 0x00000008 },
300     { "ALT", 0x00000010 },
301     { "ALT_GR", 0x00000020 },
302     { "MENU", 0x00000040 },
303     { "LAUNCHER", 0x00000080 },
304     { "VIRTUAL", 0x00000100 },
305     { "FUNCTION", 0x00000200 },
306     { NULL, 0 }
307 };
308 
309 static const KeycodeLabel AXES[] = {
310     { "X", 0 },
311     { "Y", 1 },
312     { "PRESSURE", 2 },
313     { "SIZE", 3 },
314     { "TOUCH_MAJOR", 4 },
315     { "TOUCH_MINOR", 5 },
316     { "TOOL_MAJOR", 6 },
317     { "TOOL_MINOR", 7 },
318     { "ORIENTATION", 8 },
319     { "VSCROLL", 9 },
320     { "HSCROLL", 10 },
321     { "Z", 11 },
322     { "RX", 12 },
323     { "RY", 13 },
324     { "RZ", 14 },
325     { "HAT_X", 15 },
326     { "HAT_Y", 16 },
327     { "LTRIGGER", 17 },
328     { "RTRIGGER", 18 },
329     { "THROTTLE", 19 },
330     { "RUDDER", 20 },
331     { "WHEEL", 21 },
332     { "GAS", 22 },
333     { "BRAKE", 23 },
334     { "DISTANCE", 24 },
335     { "TILT", 25 },
336     { "GENERIC_1", 32 },
337     { "GENERIC_2", 33 },
338     { "GENERIC_3", 34 },
339     { "GENERIC_4", 35 },
340     { "GENERIC_5", 36 },
341     { "GENERIC_6", 37 },
342     { "GENERIC_7", 38 },
343     { "GENERIC_8", 39 },
344     { "GENERIC_9", 40 },
345     { "GENERIC_10", 41 },
346     { "GENERIC_11", 42 },
347     { "GENERIC_12", 43 },
348     { "GENERIC_13", 44 },
349     { "GENERIC_14", 45 },
350     { "GENERIC_15", 46 },
351     { "GENERIC_16", 47 },
352 
353     // NOTE: If you add a new axis here you must also add it to several other files.
354     //       Refer to frameworks/base/core/java/android/view/MotionEvent.java for the full list.
355 
356     { NULL, -1 }
357 };
358 
359 static const KeycodeLabel LEDS[] = {
360     { "NUM_LOCK", 1},
361     { "CAPS_LOCK", 2},
362     { "SCROLL_LOCK", 3},
363     { "COMPOSE", 4},
364     { "KANA", 5},
365     { "SLEEP", 6},
366     { "SUSPEND", 7},
367     { "MUTE", 8},
368     { "MISC", 9},
369     { "MAIL", 10},
370     { "CHARGING", 11},
371     { "CONTROLLER_1", 12},
372     { "CONTROLLER_2", 13},
373     { "CONTROLLER_3", 14},
374     { "CONTROLLER_4", 15},
375 
376     // NOTE: If you add new LEDs here, you must also add them to Input.h
377     { NULL, 0 }
378 };
379 
380 #endif // _ANDROIDFW_KEYCODE_LABELS_H
381