1 /*
2  * Copyright (C) 2010 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 _ANDROID_KEYCODES_H
18 #define _ANDROID_KEYCODES_H
19 
20 /******************************************************************
21  *
22  * IMPORTANT NOTICE:
23  *
24  *   This file is part of Android's set of stable system headers
25  *   exposed by the Android NDK (Native Development Kit).
26  *
27  *   Third-party source AND binary code relies on the definitions
28  *   here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
29  *
30  *   - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
31  *   - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
32  *   - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
33  *   - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
34  */
35 
36 #include <sys/types.h>
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 /*
43  * Key codes.
44  */
45 enum {
46     AKEYCODE_UNKNOWN         = 0,
47     AKEYCODE_SOFT_LEFT       = 1,
48     AKEYCODE_SOFT_RIGHT      = 2,
49     AKEYCODE_HOME            = 3,
50     AKEYCODE_BACK            = 4,
51     AKEYCODE_CALL            = 5,
52     AKEYCODE_ENDCALL         = 6,
53     AKEYCODE_0               = 7,
54     AKEYCODE_1               = 8,
55     AKEYCODE_2               = 9,
56     AKEYCODE_3               = 10,
57     AKEYCODE_4               = 11,
58     AKEYCODE_5               = 12,
59     AKEYCODE_6               = 13,
60     AKEYCODE_7               = 14,
61     AKEYCODE_8               = 15,
62     AKEYCODE_9               = 16,
63     AKEYCODE_STAR            = 17,
64     AKEYCODE_POUND           = 18,
65     AKEYCODE_DPAD_UP         = 19,
66     AKEYCODE_DPAD_DOWN       = 20,
67     AKEYCODE_DPAD_LEFT       = 21,
68     AKEYCODE_DPAD_RIGHT      = 22,
69     AKEYCODE_DPAD_CENTER     = 23,
70     AKEYCODE_VOLUME_UP       = 24,
71     AKEYCODE_VOLUME_DOWN     = 25,
72     AKEYCODE_POWER           = 26,
73     AKEYCODE_CAMERA          = 27,
74     AKEYCODE_CLEAR           = 28,
75     AKEYCODE_A               = 29,
76     AKEYCODE_B               = 30,
77     AKEYCODE_C               = 31,
78     AKEYCODE_D               = 32,
79     AKEYCODE_E               = 33,
80     AKEYCODE_F               = 34,
81     AKEYCODE_G               = 35,
82     AKEYCODE_H               = 36,
83     AKEYCODE_I               = 37,
84     AKEYCODE_J               = 38,
85     AKEYCODE_K               = 39,
86     AKEYCODE_L               = 40,
87     AKEYCODE_M               = 41,
88     AKEYCODE_N               = 42,
89     AKEYCODE_O               = 43,
90     AKEYCODE_P               = 44,
91     AKEYCODE_Q               = 45,
92     AKEYCODE_R               = 46,
93     AKEYCODE_S               = 47,
94     AKEYCODE_T               = 48,
95     AKEYCODE_U               = 49,
96     AKEYCODE_V               = 50,
97     AKEYCODE_W               = 51,
98     AKEYCODE_X               = 52,
99     AKEYCODE_Y               = 53,
100     AKEYCODE_Z               = 54,
101     AKEYCODE_COMMA           = 55,
102     AKEYCODE_PERIOD          = 56,
103     AKEYCODE_ALT_LEFT        = 57,
104     AKEYCODE_ALT_RIGHT       = 58,
105     AKEYCODE_SHIFT_LEFT      = 59,
106     AKEYCODE_SHIFT_RIGHT     = 60,
107     AKEYCODE_TAB             = 61,
108     AKEYCODE_SPACE           = 62,
109     AKEYCODE_SYM             = 63,
110     AKEYCODE_EXPLORER        = 64,
111     AKEYCODE_ENVELOPE        = 65,
112     AKEYCODE_ENTER           = 66,
113     AKEYCODE_DEL             = 67,
114     AKEYCODE_GRAVE           = 68,
115     AKEYCODE_MINUS           = 69,
116     AKEYCODE_EQUALS          = 70,
117     AKEYCODE_LEFT_BRACKET    = 71,
118     AKEYCODE_RIGHT_BRACKET   = 72,
119     AKEYCODE_BACKSLASH       = 73,
120     AKEYCODE_SEMICOLON       = 74,
121     AKEYCODE_APOSTROPHE      = 75,
122     AKEYCODE_SLASH           = 76,
123     AKEYCODE_AT              = 77,
124     AKEYCODE_NUM             = 78,
125     AKEYCODE_HEADSETHOOK     = 79,
126     AKEYCODE_FOCUS           = 80,   // *Camera* focus
127     AKEYCODE_PLUS            = 81,
128     AKEYCODE_MENU            = 82,
129     AKEYCODE_NOTIFICATION    = 83,
130     AKEYCODE_SEARCH          = 84,
131     AKEYCODE_MEDIA_PLAY_PAUSE= 85,
132     AKEYCODE_MEDIA_STOP      = 86,
133     AKEYCODE_MEDIA_NEXT      = 87,
134     AKEYCODE_MEDIA_PREVIOUS  = 88,
135     AKEYCODE_MEDIA_REWIND    = 89,
136     AKEYCODE_MEDIA_FAST_FORWARD = 90,
137     AKEYCODE_MUTE            = 91,
138     AKEYCODE_PAGE_UP         = 92,
139     AKEYCODE_PAGE_DOWN       = 93,
140     AKEYCODE_PICTSYMBOLS     = 94,
141     AKEYCODE_SWITCH_CHARSET  = 95,
142     AKEYCODE_BUTTON_A        = 96,
143     AKEYCODE_BUTTON_B        = 97,
144     AKEYCODE_BUTTON_C        = 98,
145     AKEYCODE_BUTTON_X        = 99,
146     AKEYCODE_BUTTON_Y        = 100,
147     AKEYCODE_BUTTON_Z        = 101,
148     AKEYCODE_BUTTON_L1       = 102,
149     AKEYCODE_BUTTON_R1       = 103,
150     AKEYCODE_BUTTON_L2       = 104,
151     AKEYCODE_BUTTON_R2       = 105,
152     AKEYCODE_BUTTON_THUMBL   = 106,
153     AKEYCODE_BUTTON_THUMBR   = 107,
154     AKEYCODE_BUTTON_START    = 108,
155     AKEYCODE_BUTTON_SELECT   = 109,
156     AKEYCODE_BUTTON_MODE     = 110,
157     AKEYCODE_ESCAPE          = 111,
158     AKEYCODE_FORWARD_DEL     = 112,
159     AKEYCODE_CTRL_LEFT       = 113,
160     AKEYCODE_CTRL_RIGHT      = 114,
161     AKEYCODE_CAPS_LOCK       = 115,
162     AKEYCODE_SCROLL_LOCK     = 116,
163     AKEYCODE_META_LEFT       = 117,
164     AKEYCODE_META_RIGHT      = 118,
165     AKEYCODE_FUNCTION        = 119,
166     AKEYCODE_SYSRQ           = 120,
167     AKEYCODE_BREAK           = 121,
168     AKEYCODE_MOVE_HOME       = 122,
169     AKEYCODE_MOVE_END        = 123,
170     AKEYCODE_INSERT          = 124,
171     AKEYCODE_FORWARD         = 125,
172     AKEYCODE_MEDIA_PLAY      = 126,
173     AKEYCODE_MEDIA_PAUSE     = 127,
174     AKEYCODE_MEDIA_CLOSE     = 128,
175     AKEYCODE_MEDIA_EJECT     = 129,
176     AKEYCODE_MEDIA_RECORD    = 130,
177     AKEYCODE_F1              = 131,
178     AKEYCODE_F2              = 132,
179     AKEYCODE_F3              = 133,
180     AKEYCODE_F4              = 134,
181     AKEYCODE_F5              = 135,
182     AKEYCODE_F6              = 136,
183     AKEYCODE_F7              = 137,
184     AKEYCODE_F8              = 138,
185     AKEYCODE_F9              = 139,
186     AKEYCODE_F10             = 140,
187     AKEYCODE_F11             = 141,
188     AKEYCODE_F12             = 142,
189     AKEYCODE_NUM_LOCK        = 143,
190     AKEYCODE_NUMPAD_0        = 144,
191     AKEYCODE_NUMPAD_1        = 145,
192     AKEYCODE_NUMPAD_2        = 146,
193     AKEYCODE_NUMPAD_3        = 147,
194     AKEYCODE_NUMPAD_4        = 148,
195     AKEYCODE_NUMPAD_5        = 149,
196     AKEYCODE_NUMPAD_6        = 150,
197     AKEYCODE_NUMPAD_7        = 151,
198     AKEYCODE_NUMPAD_8        = 152,
199     AKEYCODE_NUMPAD_9        = 153,
200     AKEYCODE_NUMPAD_DIVIDE   = 154,
201     AKEYCODE_NUMPAD_MULTIPLY = 155,
202     AKEYCODE_NUMPAD_SUBTRACT = 156,
203     AKEYCODE_NUMPAD_ADD      = 157,
204     AKEYCODE_NUMPAD_DOT      = 158,
205     AKEYCODE_NUMPAD_COMMA    = 159,
206     AKEYCODE_NUMPAD_ENTER    = 160,
207     AKEYCODE_NUMPAD_EQUALS   = 161,
208     AKEYCODE_NUMPAD_LEFT_PAREN = 162,
209     AKEYCODE_NUMPAD_RIGHT_PAREN = 163,
210     AKEYCODE_VOLUME_MUTE     = 164,
211     AKEYCODE_INFO            = 165,
212     AKEYCODE_CHANNEL_UP      = 166,
213     AKEYCODE_CHANNEL_DOWN    = 167,
214     AKEYCODE_ZOOM_IN         = 168,
215     AKEYCODE_ZOOM_OUT        = 169,
216     AKEYCODE_TV              = 170,
217     AKEYCODE_WINDOW          = 171,
218     AKEYCODE_GUIDE           = 172,
219     AKEYCODE_DVR             = 173,
220     AKEYCODE_BOOKMARK        = 174,
221     AKEYCODE_CAPTIONS        = 175,
222     AKEYCODE_SETTINGS        = 176,
223     AKEYCODE_TV_POWER        = 177,
224     AKEYCODE_TV_INPUT        = 178,
225     AKEYCODE_STB_POWER       = 179,
226     AKEYCODE_STB_INPUT       = 180,
227     AKEYCODE_AVR_POWER       = 181,
228     AKEYCODE_AVR_INPUT       = 182,
229     AKEYCODE_PROG_RED        = 183,
230     AKEYCODE_PROG_GREEN      = 184,
231     AKEYCODE_PROG_YELLOW     = 185,
232     AKEYCODE_PROG_BLUE       = 186,
233     AKEYCODE_APP_SWITCH      = 187,
234     AKEYCODE_BUTTON_1        = 188,
235     AKEYCODE_BUTTON_2        = 189,
236     AKEYCODE_BUTTON_3        = 190,
237     AKEYCODE_BUTTON_4        = 191,
238     AKEYCODE_BUTTON_5        = 192,
239     AKEYCODE_BUTTON_6        = 193,
240     AKEYCODE_BUTTON_7        = 194,
241     AKEYCODE_BUTTON_8        = 195,
242     AKEYCODE_BUTTON_9        = 196,
243     AKEYCODE_BUTTON_10       = 197,
244     AKEYCODE_BUTTON_11       = 198,
245     AKEYCODE_BUTTON_12       = 199,
246     AKEYCODE_BUTTON_13       = 200,
247     AKEYCODE_BUTTON_14       = 201,
248     AKEYCODE_BUTTON_15       = 202,
249     AKEYCODE_BUTTON_16       = 203,
250     AKEYCODE_LANGUAGE_SWITCH = 204,
251     AKEYCODE_MANNER_MODE     = 205,
252     AKEYCODE_3D_MODE         = 206,
253     AKEYCODE_CONTACTS        = 207,
254     AKEYCODE_CALENDAR        = 208,
255     AKEYCODE_MUSIC           = 209,
256     AKEYCODE_CALCULATOR      = 210,
257     AKEYCODE_ZENKAKU_HANKAKU = 211,
258     AKEYCODE_EISU            = 212,
259     AKEYCODE_MUHENKAN        = 213,
260     AKEYCODE_HENKAN          = 214,
261     AKEYCODE_KATAKANA_HIRAGANA = 215,
262     AKEYCODE_YEN             = 216,
263     AKEYCODE_RO              = 217,
264     AKEYCODE_KANA            = 218,
265     AKEYCODE_ASSIST          = 219,
266     AKEYCODE_BRIGHTNESS_DOWN = 220,
267     AKEYCODE_BRIGHTNESS_UP   = 221,
268     AKEYCODE_MEDIA_AUDIO_TRACK = 222,
269     AKEYCODE_SLEEP           = 223,
270     AKEYCODE_WAKEUP          = 224,
271     AKEYCODE_PAIRING         = 225,
272     AKEYCODE_MEDIA_TOP_MENU  = 226,
273     AKEYCODE_11              = 227,
274     AKEYCODE_12              = 228,
275     AKEYCODE_LAST_CHANNEL    = 229,
276     AKEYCODE_TV_DATA_SERVICE = 230,
277     AKEYCODE_VOICE_ASSIST    = 231,
278     AKEYCODE_TV_RADIO_SERVICE = 232,
279     AKEYCODE_TV_TELETEXT     = 233,
280     AKEYCODE_TV_NUMBER_ENTRY = 234,
281     AKEYCODE_TV_TERRESTRIAL_ANALOG = 235,
282     AKEYCODE_TV_TERRESTRIAL_DIGITAL = 236,
283     AKEYCODE_TV_SATELLITE    = 237,
284     AKEYCODE_TV_SATELLITE_BS = 238,
285     AKEYCODE_TV_SATELLITE_CS = 239,
286     AKEYCODE_TV_SATELLITE_SERVICE = 240,
287     AKEYCODE_TV_NETWORK      = 241,
288     AKEYCODE_TV_ANTENNA_CABLE = 242,
289     AKEYCODE_TV_INPUT_HDMI_1 = 243,
290     AKEYCODE_TV_INPUT_HDMI_2 = 244,
291     AKEYCODE_TV_INPUT_HDMI_3 = 245,
292     AKEYCODE_TV_INPUT_HDMI_4 = 246,
293     AKEYCODE_TV_INPUT_COMPOSITE_1 = 247,
294     AKEYCODE_TV_INPUT_COMPOSITE_2 = 248,
295     AKEYCODE_TV_INPUT_COMPONENT_1 = 249,
296     AKEYCODE_TV_INPUT_COMPONENT_2 = 250,
297     AKEYCODE_TV_INPUT_VGA_1  = 251,
298     AKEYCODE_TV_AUDIO_DESCRIPTION = 252,
299     AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253,
300     AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254,
301     AKEYCODE_TV_ZOOM_MODE    = 255,
302     AKEYCODE_TV_CONTENTS_MENU = 256,
303     AKEYCODE_TV_MEDIA_CONTEXT_MENU = 257,
304     AKEYCODE_TV_TIMER_PROGRAMMING = 258,
305     AKEYCODE_HELP            = 259,
306     AKEYCODE_NAVIGATE_PREVIOUS = 260,
307     AKEYCODE_NAVIGATE_NEXT   = 261,
308     AKEYCODE_NAVIGATE_IN     = 262,
309     AKEYCODE_NAVIGATE_OUT    = 263,
310     AKEYCODE_MEDIA_SKIP_FORWARD = 272,
311     AKEYCODE_MEDIA_SKIP_BACKWARD = 273,
312     AKEYCODE_MEDIA_STEP_FORWARD = 274,
313     AKEYCODE_MEDIA_STEP_BACKWARD = 275
314 
315     // NOTE: If you add a new keycode here you must also add it to several other files.
316     //       Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
317 };
318 
319 #ifdef __cplusplus
320 }
321 #endif
322 
323 #endif // _ANDROID_KEYCODES_H
324