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/**
18 * @addtogroup Input
19 * @{
20 */
21
22/**
23 * @file keycodes.h
24 */
25
26#ifndef _ANDROID_KEYCODES_H
27#define _ANDROID_KEYCODES_H
28
29/******************************************************************
30 *
31 * IMPORTANT NOTICE:
32 *
33 *   This file is part of Android's set of stable system headers
34 *   exposed by the Android NDK (Native Development Kit).
35 *
36 *   Third-party source AND binary code relies on the definitions
37 *   here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
38 *
39 *   - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
40 *   - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
41 *   - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
42 *   - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
43 */
44
45#include <sys/types.h>
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
51/**
52 * Key codes.
53 */
54enum {
55    /** Unknown key code. */
56    AKEYCODE_UNKNOWN         = 0,
57    /** Soft Left key.
58     * Usually situated below the display on phones and used as a multi-function
59     * feature key for selecting a software defined function shown on the bottom left
60     * of the display. */
61    AKEYCODE_SOFT_LEFT       = 1,
62    /** Soft Right key.
63     * Usually situated below the display on phones and used as a multi-function
64     * feature key for selecting a software defined function shown on the bottom right
65     * of the display. */
66    AKEYCODE_SOFT_RIGHT      = 2,
67    /** Home key.
68     * This key is handled by the framework and is never delivered to applications. */
69    AKEYCODE_HOME            = 3,
70    /** Back key. */
71    AKEYCODE_BACK            = 4,
72    /** Call key. */
73    AKEYCODE_CALL            = 5,
74    /** End Call key. */
75    AKEYCODE_ENDCALL         = 6,
76    /** '0' key. */
77    AKEYCODE_0               = 7,
78    /** '1' key. */
79    AKEYCODE_1               = 8,
80    /** '2' key. */
81    AKEYCODE_2               = 9,
82    /** '3' key. */
83    AKEYCODE_3               = 10,
84    /** '4' key. */
85    AKEYCODE_4               = 11,
86    /** '5' key. */
87    AKEYCODE_5               = 12,
88    /** '6' key. */
89    AKEYCODE_6               = 13,
90    /** '7' key. */
91    AKEYCODE_7               = 14,
92    /** '8' key. */
93    AKEYCODE_8               = 15,
94    /** '9' key. */
95    AKEYCODE_9               = 16,
96    /** '*' key. */
97    AKEYCODE_STAR            = 17,
98    /** '#' key. */
99    AKEYCODE_POUND           = 18,
100    /** Directional Pad Up key.
101     * May also be synthesized from trackball motions. */
102    AKEYCODE_DPAD_UP         = 19,
103    /** Directional Pad Down key.
104     * May also be synthesized from trackball motions. */
105    AKEYCODE_DPAD_DOWN       = 20,
106    /** Directional Pad Left key.
107     * May also be synthesized from trackball motions. */
108    AKEYCODE_DPAD_LEFT       = 21,
109    /** Directional Pad Right key.
110     * May also be synthesized from trackball motions. */
111    AKEYCODE_DPAD_RIGHT      = 22,
112    /** Directional Pad Center key.
113     * May also be synthesized from trackball motions. */
114    AKEYCODE_DPAD_CENTER     = 23,
115    /** Volume Up key.
116     * Adjusts the speaker volume up. */
117    AKEYCODE_VOLUME_UP       = 24,
118    /** Volume Down key.
119     * Adjusts the speaker volume down. */
120    AKEYCODE_VOLUME_DOWN     = 25,
121    /** Power key. */
122    AKEYCODE_POWER           = 26,
123    /** Camera key.
124     * Used to launch a camera application or take pictures. */
125    AKEYCODE_CAMERA          = 27,
126    /** Clear key. */
127    AKEYCODE_CLEAR           = 28,
128    /** 'A' key. */
129    AKEYCODE_A               = 29,
130    /** 'B' key. */
131    AKEYCODE_B               = 30,
132    /** 'C' key. */
133    AKEYCODE_C               = 31,
134    /** 'D' key. */
135    AKEYCODE_D               = 32,
136    /** 'E' key. */
137    AKEYCODE_E               = 33,
138    /** 'F' key. */
139    AKEYCODE_F               = 34,
140    /** 'G' key. */
141    AKEYCODE_G               = 35,
142    /** 'H' key. */
143    AKEYCODE_H               = 36,
144    /** 'I' key. */
145    AKEYCODE_I               = 37,
146    /** 'J' key. */
147    AKEYCODE_J               = 38,
148    /** 'K' key. */
149    AKEYCODE_K               = 39,
150    /** 'L' key. */
151    AKEYCODE_L               = 40,
152    /** 'M' key. */
153    AKEYCODE_M               = 41,
154    /** 'N' key. */
155    AKEYCODE_N               = 42,
156    /** 'O' key. */
157    AKEYCODE_O               = 43,
158    /** 'P' key. */
159    AKEYCODE_P               = 44,
160    /** 'Q' key. */
161    AKEYCODE_Q               = 45,
162    /** 'R' key. */
163    AKEYCODE_R               = 46,
164    /** 'S' key. */
165    AKEYCODE_S               = 47,
166    /** 'T' key. */
167    AKEYCODE_T               = 48,
168    /** 'U' key. */
169    AKEYCODE_U               = 49,
170    /** 'V' key. */
171    AKEYCODE_V               = 50,
172    /** 'W' key. */
173    AKEYCODE_W               = 51,
174    /** 'X' key. */
175    AKEYCODE_X               = 52,
176    /** 'Y' key. */
177    AKEYCODE_Y               = 53,
178    /** 'Z' key. */
179    AKEYCODE_Z               = 54,
180    /** ',' key. */
181    AKEYCODE_COMMA           = 55,
182    /** '.' key. */
183    AKEYCODE_PERIOD          = 56,
184    /** Left Alt modifier key. */
185    AKEYCODE_ALT_LEFT        = 57,
186    /** Right Alt modifier key. */
187    AKEYCODE_ALT_RIGHT       = 58,
188    /** Left Shift modifier key. */
189    AKEYCODE_SHIFT_LEFT      = 59,
190    /** Right Shift modifier key. */
191    AKEYCODE_SHIFT_RIGHT     = 60,
192    /** Tab key. */
193    AKEYCODE_TAB             = 61,
194    /** Space key. */
195    AKEYCODE_SPACE           = 62,
196    /** Symbol modifier key.
197     * Used to enter alternate symbols. */
198    AKEYCODE_SYM             = 63,
199    /** Explorer special function key.
200     * Used to launch a browser application. */
201    AKEYCODE_EXPLORER        = 64,
202    /** Envelope special function key.
203     * Used to launch a mail application. */
204    AKEYCODE_ENVELOPE        = 65,
205    /** Enter key. */
206    AKEYCODE_ENTER           = 66,
207    /** Backspace key.
208     * Deletes characters before the insertion point, unlike {@link AKEYCODE_FORWARD_DEL}. */
209    AKEYCODE_DEL             = 67,
210    /** '`' (backtick) key. */
211    AKEYCODE_GRAVE           = 68,
212    /** '-'. */
213    AKEYCODE_MINUS           = 69,
214    /** '=' key. */
215    AKEYCODE_EQUALS          = 70,
216    /** '[' key. */
217    AKEYCODE_LEFT_BRACKET    = 71,
218    /** ']' key. */
219    AKEYCODE_RIGHT_BRACKET   = 72,
220    /** '\' key. */
221    AKEYCODE_BACKSLASH       = 73,
222    /** ';' key. */
223    AKEYCODE_SEMICOLON       = 74,
224    /** ''' (apostrophe) key. */
225    AKEYCODE_APOSTROPHE      = 75,
226    /** '/' key. */
227    AKEYCODE_SLASH           = 76,
228    /** '@' key. */
229    AKEYCODE_AT              = 77,
230    /** Number modifier key.
231     * Used to enter numeric symbols.
232     * This key is not {@link AKEYCODE_NUM_LOCK}; it is more like {@link AKEYCODE_ALT_LEFT}. */
233    AKEYCODE_NUM             = 78,
234    /** Headset Hook key.
235     * Used to hang up calls and stop media. */
236    AKEYCODE_HEADSETHOOK     = 79,
237    /** Camera Focus key.
238     * Used to focus the camera. */
239    AKEYCODE_FOCUS           = 80,
240    /** '+' key. */
241    AKEYCODE_PLUS            = 81,
242    /** Menu key. */
243    AKEYCODE_MENU            = 82,
244    /** Notification key. */
245    AKEYCODE_NOTIFICATION    = 83,
246    /** Search key. */
247    AKEYCODE_SEARCH          = 84,
248    /** Play/Pause media key. */
249    AKEYCODE_MEDIA_PLAY_PAUSE= 85,
250    /** Stop media key. */
251    AKEYCODE_MEDIA_STOP      = 86,
252    /** Play Next media key. */
253    AKEYCODE_MEDIA_NEXT      = 87,
254    /** Play Previous media key. */
255    AKEYCODE_MEDIA_PREVIOUS  = 88,
256    /** Rewind media key. */
257    AKEYCODE_MEDIA_REWIND    = 89,
258    /** Fast Forward media key. */
259    AKEYCODE_MEDIA_FAST_FORWARD = 90,
260    /** Mute key.
261     * Mutes the microphone, unlike {@link AKEYCODE_VOLUME_MUTE}. */
262    AKEYCODE_MUTE            = 91,
263    /** Page Up key. */
264    AKEYCODE_PAGE_UP         = 92,
265    /** Page Down key. */
266    AKEYCODE_PAGE_DOWN       = 93,
267    /** Picture Symbols modifier key.
268     * Used to switch symbol sets (Emoji, Kao-moji). */
269    AKEYCODE_PICTSYMBOLS     = 94,
270    /** Switch Charset modifier key.
271     * Used to switch character sets (Kanji, Katakana). */
272    AKEYCODE_SWITCH_CHARSET  = 95,
273    /** A Button key.
274     * On a game controller, the A button should be either the button labeled A
275     * or the first button on the bottom row of controller buttons. */
276    AKEYCODE_BUTTON_A        = 96,
277    /** B Button key.
278     * On a game controller, the B button should be either the button labeled B
279     * or the second button on the bottom row of controller buttons. */
280    AKEYCODE_BUTTON_B        = 97,
281    /** C Button key.
282     * On a game controller, the C button should be either the button labeled C
283     * or the third button on the bottom row of controller buttons. */
284    AKEYCODE_BUTTON_C        = 98,
285    /** X Button key.
286     * On a game controller, the X button should be either the button labeled X
287     * or the first button on the upper row of controller buttons. */
288    AKEYCODE_BUTTON_X        = 99,
289    /** Y Button key.
290     * On a game controller, the Y button should be either the button labeled Y
291     * or the second button on the upper row of controller buttons. */
292    AKEYCODE_BUTTON_Y        = 100,
293    /** Z Button key.
294     * On a game controller, the Z button should be either the button labeled Z
295     * or the third button on the upper row of controller buttons. */
296    AKEYCODE_BUTTON_Z        = 101,
297    /** L1 Button key.
298     * On a game controller, the L1 button should be either the button labeled L1 (or L)
299     * or the top left trigger button. */
300    AKEYCODE_BUTTON_L1       = 102,
301    /** R1 Button key.
302     * On a game controller, the R1 button should be either the button labeled R1 (or R)
303     * or the top right trigger button. */
304    AKEYCODE_BUTTON_R1       = 103,
305    /** L2 Button key.
306     * On a game controller, the L2 button should be either the button labeled L2
307     * or the bottom left trigger button. */
308    AKEYCODE_BUTTON_L2       = 104,
309    /** R2 Button key.
310     * On a game controller, the R2 button should be either the button labeled R2
311     * or the bottom right trigger button. */
312    AKEYCODE_BUTTON_R2       = 105,
313    /** Left Thumb Button key.
314     * On a game controller, the left thumb button indicates that the left (or only)
315     * joystick is pressed. */
316    AKEYCODE_BUTTON_THUMBL   = 106,
317    /** Right Thumb Button key.
318     * On a game controller, the right thumb button indicates that the right
319     * joystick is pressed. */
320    AKEYCODE_BUTTON_THUMBR   = 107,
321    /** Start Button key.
322     * On a game controller, the button labeled Start. */
323    AKEYCODE_BUTTON_START    = 108,
324    /** Select Button key.
325     * On a game controller, the button labeled Select. */
326    AKEYCODE_BUTTON_SELECT   = 109,
327    /** Mode Button key.
328     * On a game controller, the button labeled Mode. */
329    AKEYCODE_BUTTON_MODE     = 110,
330    /** Escape key. */
331    AKEYCODE_ESCAPE          = 111,
332    /** Forward Delete key.
333     * Deletes characters ahead of the insertion point, unlike {@link AKEYCODE_DEL}. */
334    AKEYCODE_FORWARD_DEL     = 112,
335    /** Left Control modifier key. */
336    AKEYCODE_CTRL_LEFT       = 113,
337    /** Right Control modifier key. */
338    AKEYCODE_CTRL_RIGHT      = 114,
339    /** Caps Lock key. */
340    AKEYCODE_CAPS_LOCK       = 115,
341    /** Scroll Lock key. */
342    AKEYCODE_SCROLL_LOCK     = 116,
343    /** Left Meta modifier key. */
344    AKEYCODE_META_LEFT       = 117,
345    /** Right Meta modifier key. */
346    AKEYCODE_META_RIGHT      = 118,
347    /** Function modifier key. */
348    AKEYCODE_FUNCTION        = 119,
349    /** System Request / Print Screen key. */
350    AKEYCODE_SYSRQ           = 120,
351    /** Break / Pause key. */
352    AKEYCODE_BREAK           = 121,
353    /** Home Movement key.
354     * Used for scrolling or moving the cursor around to the start of a line
355     * or to the top of a list. */
356    AKEYCODE_MOVE_HOME       = 122,
357    /** End Movement key.
358     * Used for scrolling or moving the cursor around to the end of a line
359     * or to the bottom of a list. */
360    AKEYCODE_MOVE_END        = 123,
361    /** Insert key.
362     * Toggles insert / overwrite edit mode. */
363    AKEYCODE_INSERT          = 124,
364    /** Forward key.
365     * Navigates forward in the history stack.  Complement of {@link AKEYCODE_BACK}. */
366    AKEYCODE_FORWARD         = 125,
367    /** Play media key. */
368    AKEYCODE_MEDIA_PLAY      = 126,
369    /** Pause media key. */
370    AKEYCODE_MEDIA_PAUSE     = 127,
371    /** Close media key.
372     * May be used to close a CD tray, for example. */
373    AKEYCODE_MEDIA_CLOSE     = 128,
374    /** Eject media key.
375     * May be used to eject a CD tray, for example. */
376    AKEYCODE_MEDIA_EJECT     = 129,
377    /** Record media key. */
378    AKEYCODE_MEDIA_RECORD    = 130,
379    /** F1 key. */
380    AKEYCODE_F1              = 131,
381    /** F2 key. */
382    AKEYCODE_F2              = 132,
383    /** F3 key. */
384    AKEYCODE_F3              = 133,
385    /** F4 key. */
386    AKEYCODE_F4              = 134,
387    /** F5 key. */
388    AKEYCODE_F5              = 135,
389    /** F6 key. */
390    AKEYCODE_F6              = 136,
391    /** F7 key. */
392    AKEYCODE_F7              = 137,
393    /** F8 key. */
394    AKEYCODE_F8              = 138,
395    /** F9 key. */
396    AKEYCODE_F9              = 139,
397    /** F10 key. */
398    AKEYCODE_F10             = 140,
399    /** F11 key. */
400    AKEYCODE_F11             = 141,
401    /** F12 key. */
402    AKEYCODE_F12             = 142,
403    /** Num Lock key.
404     * This is the Num Lock key; it is different from {@link AKEYCODE_NUM}.
405     * This key alters the behavior of other keys on the numeric keypad. */
406    AKEYCODE_NUM_LOCK        = 143,
407    /** Numeric keypad '0' key. */
408    AKEYCODE_NUMPAD_0        = 144,
409    /** Numeric keypad '1' key. */
410    AKEYCODE_NUMPAD_1        = 145,
411    /** Numeric keypad '2' key. */
412    AKEYCODE_NUMPAD_2        = 146,
413    /** Numeric keypad '3' key. */
414    AKEYCODE_NUMPAD_3        = 147,
415    /** Numeric keypad '4' key. */
416    AKEYCODE_NUMPAD_4        = 148,
417    /** Numeric keypad '5' key. */
418    AKEYCODE_NUMPAD_5        = 149,
419    /** Numeric keypad '6' key. */
420    AKEYCODE_NUMPAD_6        = 150,
421    /** Numeric keypad '7' key. */
422    AKEYCODE_NUMPAD_7        = 151,
423    /** Numeric keypad '8' key. */
424    AKEYCODE_NUMPAD_8        = 152,
425    /** Numeric keypad '9' key. */
426    AKEYCODE_NUMPAD_9        = 153,
427    /** Numeric keypad '/' key (for division). */
428    AKEYCODE_NUMPAD_DIVIDE   = 154,
429    /** Numeric keypad '*' key (for multiplication). */
430    AKEYCODE_NUMPAD_MULTIPLY = 155,
431    /** Numeric keypad '-' key (for subtraction). */
432    AKEYCODE_NUMPAD_SUBTRACT = 156,
433    /** Numeric keypad '+' key (for addition). */
434    AKEYCODE_NUMPAD_ADD      = 157,
435    /** Numeric keypad '.' key (for decimals or digit grouping). */
436    AKEYCODE_NUMPAD_DOT      = 158,
437    /** Numeric keypad ',' key (for decimals or digit grouping). */
438    AKEYCODE_NUMPAD_COMMA    = 159,
439    /** Numeric keypad Enter key. */
440    AKEYCODE_NUMPAD_ENTER    = 160,
441    /** Numeric keypad '=' key. */
442    AKEYCODE_NUMPAD_EQUALS   = 161,
443    /** Numeric keypad '(' key. */
444    AKEYCODE_NUMPAD_LEFT_PAREN = 162,
445    /** Numeric keypad ')' key. */
446    AKEYCODE_NUMPAD_RIGHT_PAREN = 163,
447    /** Volume Mute key.
448     * Mutes the speaker, unlike {@link AKEYCODE_MUTE}.
449     * This key should normally be implemented as a toggle such that the first press
450     * mutes the speaker and the second press restores the original volume. */
451    AKEYCODE_VOLUME_MUTE     = 164,
452    /** Info key.
453     * Common on TV remotes to show additional information related to what is
454     * currently being viewed. */
455    AKEYCODE_INFO            = 165,
456    /** Channel up key.
457     * On TV remotes, increments the television channel. */
458    AKEYCODE_CHANNEL_UP      = 166,
459    /** Channel down key.
460     * On TV remotes, decrements the television channel. */
461    AKEYCODE_CHANNEL_DOWN    = 167,
462    /** Zoom in key. */
463    AKEYCODE_ZOOM_IN         = 168,
464    /** Zoom out key. */
465    AKEYCODE_ZOOM_OUT        = 169,
466    /** TV key.
467     * On TV remotes, switches to viewing live TV. */
468    AKEYCODE_TV              = 170,
469    /** Window key.
470     * On TV remotes, toggles picture-in-picture mode or other windowing functions. */
471    AKEYCODE_WINDOW          = 171,
472    /** Guide key.
473     * On TV remotes, shows a programming guide. */
474    AKEYCODE_GUIDE           = 172,
475    /** DVR key.
476     * On some TV remotes, switches to a DVR mode for recorded shows. */
477    AKEYCODE_DVR             = 173,
478    /** Bookmark key.
479     * On some TV remotes, bookmarks content or web pages. */
480    AKEYCODE_BOOKMARK        = 174,
481    /** Toggle captions key.
482     * Switches the mode for closed-captioning text, for example during television shows. */
483    AKEYCODE_CAPTIONS        = 175,
484    /** Settings key.
485     * Starts the system settings activity. */
486    AKEYCODE_SETTINGS        = 176,
487    /** TV power key.
488     * On TV remotes, toggles the power on a television screen. */
489    AKEYCODE_TV_POWER        = 177,
490    /** TV input key.
491     * On TV remotes, switches the input on a television screen. */
492    AKEYCODE_TV_INPUT        = 178,
493    /** Set-top-box power key.
494     * On TV remotes, toggles the power on an external Set-top-box. */
495    AKEYCODE_STB_POWER       = 179,
496    /** Set-top-box input key.
497     * On TV remotes, switches the input mode on an external Set-top-box. */
498    AKEYCODE_STB_INPUT       = 180,
499    /** A/V Receiver power key.
500     * On TV remotes, toggles the power on an external A/V Receiver. */
501    AKEYCODE_AVR_POWER       = 181,
502    /** A/V Receiver input key.
503     * On TV remotes, switches the input mode on an external A/V Receiver. */
504    AKEYCODE_AVR_INPUT       = 182,
505    /** Red "programmable" key.
506     * On TV remotes, acts as a contextual/programmable key. */
507    AKEYCODE_PROG_RED        = 183,
508    /** Green "programmable" key.
509     * On TV remotes, actsas a contextual/programmable key. */
510    AKEYCODE_PROG_GREEN      = 184,
511    /** Yellow "programmable" key.
512     * On TV remotes, acts as a contextual/programmable key. */
513    AKEYCODE_PROG_YELLOW     = 185,
514    /** Blue "programmable" key.
515     * On TV remotes, acts as a contextual/programmable key. */
516    AKEYCODE_PROG_BLUE       = 186,
517    /** App switch key.
518     * Should bring up the application switcher dialog. */
519    AKEYCODE_APP_SWITCH      = 187,
520    /** Generic Game Pad Button #1.*/
521    AKEYCODE_BUTTON_1        = 188,
522    /** Generic Game Pad Button #2.*/
523    AKEYCODE_BUTTON_2        = 189,
524    /** Generic Game Pad Button #3.*/
525    AKEYCODE_BUTTON_3        = 190,
526    /** Generic Game Pad Button #4.*/
527    AKEYCODE_BUTTON_4        = 191,
528    /** Generic Game Pad Button #5.*/
529    AKEYCODE_BUTTON_5        = 192,
530    /** Generic Game Pad Button #6.*/
531    AKEYCODE_BUTTON_6        = 193,
532    /** Generic Game Pad Button #7.*/
533    AKEYCODE_BUTTON_7        = 194,
534    /** Generic Game Pad Button #8.*/
535    AKEYCODE_BUTTON_8        = 195,
536    /** Generic Game Pad Button #9.*/
537    AKEYCODE_BUTTON_9        = 196,
538    /** Generic Game Pad Button #10.*/
539    AKEYCODE_BUTTON_10       = 197,
540    /** Generic Game Pad Button #11.*/
541    AKEYCODE_BUTTON_11       = 198,
542    /** Generic Game Pad Button #12.*/
543    AKEYCODE_BUTTON_12       = 199,
544    /** Generic Game Pad Button #13.*/
545    AKEYCODE_BUTTON_13       = 200,
546    /** Generic Game Pad Button #14.*/
547    AKEYCODE_BUTTON_14       = 201,
548    /** Generic Game Pad Button #15.*/
549    AKEYCODE_BUTTON_15       = 202,
550    /** Generic Game Pad Button #16.*/
551    AKEYCODE_BUTTON_16       = 203,
552    /** Language Switch key.
553     * Toggles the current input language such as switching between English and Japanese on
554     * a QWERTY keyboard.  On some devices, the same function may be performed by
555     * pressing Shift+Spacebar. */
556    AKEYCODE_LANGUAGE_SWITCH = 204,
557    /** Manner Mode key.
558     * Toggles silent or vibrate mode on and off to make the device behave more politely
559     * in certain settings such as on a crowded train.  On some devices, the key may only
560     * operate when long-pressed. */
561    AKEYCODE_MANNER_MODE     = 205,
562    /** 3D Mode key.
563     * Toggles the display between 2D and 3D mode. */
564    AKEYCODE_3D_MODE         = 206,
565    /** Contacts special function key.
566     * Used to launch an address book application. */
567    AKEYCODE_CONTACTS        = 207,
568    /** Calendar special function key.
569     * Used to launch a calendar application. */
570    AKEYCODE_CALENDAR        = 208,
571    /** Music special function key.
572     * Used to launch a music player application. */
573    AKEYCODE_MUSIC           = 209,
574    /** Calculator special function key.
575     * Used to launch a calculator application. */
576    AKEYCODE_CALCULATOR      = 210,
577    /** Japanese full-width / half-width key. */
578    AKEYCODE_ZENKAKU_HANKAKU = 211,
579    /** Japanese alphanumeric key. */
580    AKEYCODE_EISU            = 212,
581    /** Japanese non-conversion key. */
582    AKEYCODE_MUHENKAN        = 213,
583    /** Japanese conversion key. */
584    AKEYCODE_HENKAN          = 214,
585    /** Japanese katakana / hiragana key. */
586    AKEYCODE_KATAKANA_HIRAGANA = 215,
587    /** Japanese Yen key. */
588    AKEYCODE_YEN             = 216,
589    /** Japanese Ro key. */
590    AKEYCODE_RO              = 217,
591    /** Japanese kana key. */
592    AKEYCODE_KANA            = 218,
593    /** Assist key.
594     * Launches the global assist activity.  Not delivered to applications. */
595    AKEYCODE_ASSIST          = 219,
596    /** Brightness Down key.
597     * Adjusts the screen brightness down. */
598    AKEYCODE_BRIGHTNESS_DOWN = 220,
599    /** Brightness Up key.
600     * Adjusts the screen brightness up. */
601    AKEYCODE_BRIGHTNESS_UP   = 221,
602    /** Audio Track key.
603     * Switches the audio tracks. */
604    AKEYCODE_MEDIA_AUDIO_TRACK = 222,
605    /** Sleep key.
606     * Puts the device to sleep.  Behaves somewhat like {@link AKEYCODE_POWER} but it
607     * has no effect if the device is already asleep. */
608    AKEYCODE_SLEEP           = 223,
609    /** Wakeup key.
610     * Wakes up the device.  Behaves somewhat like {@link AKEYCODE_POWER} but it
611     * has no effect if the device is already awake. */
612    AKEYCODE_WAKEUP          = 224,
613    /** Pairing key.
614     * Initiates peripheral pairing mode. Useful for pairing remote control
615     * devices or game controllers, especially if no other input mode is
616     * available. */
617    AKEYCODE_PAIRING         = 225,
618    /** Media Top Menu key.
619     * Goes to the top of media menu. */
620    AKEYCODE_MEDIA_TOP_MENU  = 226,
621    /** '11' key. */
622    AKEYCODE_11              = 227,
623    /** '12' key. */
624    AKEYCODE_12              = 228,
625    /** Last Channel key.
626     * Goes to the last viewed channel. */
627    AKEYCODE_LAST_CHANNEL    = 229,
628    /** TV data service key.
629     * Displays data services like weather, sports. */
630    AKEYCODE_TV_DATA_SERVICE = 230,
631    /** Voice Assist key.
632     * Launches the global voice assist activity. Not delivered to applications. */
633    AKEYCODE_VOICE_ASSIST    = 231,
634    /** Radio key.
635     * Toggles TV service / Radio service. */
636    AKEYCODE_TV_RADIO_SERVICE = 232,
637    /** Teletext key.
638     * Displays Teletext service. */
639    AKEYCODE_TV_TELETEXT     = 233,
640    /** Number entry key.
641     * Initiates to enter multi-digit channel nubmber when each digit key is assigned
642     * for selecting separate channel. Corresponds to Number Entry Mode (0x1D) of CEC
643     * User Control Code. */
644    AKEYCODE_TV_NUMBER_ENTRY = 234,
645    /** Analog Terrestrial key.
646     * Switches to analog terrestrial broadcast service. */
647    AKEYCODE_TV_TERRESTRIAL_ANALOG = 235,
648    /** Digital Terrestrial key.
649     * Switches to digital terrestrial broadcast service. */
650    AKEYCODE_TV_TERRESTRIAL_DIGITAL = 236,
651    /** Satellite key.
652     * Switches to digital satellite broadcast service. */
653    AKEYCODE_TV_SATELLITE    = 237,
654    /** BS key.
655     * Switches to BS digital satellite broadcasting service available in Japan. */
656    AKEYCODE_TV_SATELLITE_BS = 238,
657    /** CS key.
658     * Switches to CS digital satellite broadcasting service available in Japan. */
659    AKEYCODE_TV_SATELLITE_CS = 239,
660    /** BS/CS key.
661     * Toggles between BS and CS digital satellite services. */
662    AKEYCODE_TV_SATELLITE_SERVICE = 240,
663    /** Toggle Network key.
664     * Toggles selecting broacast services. */
665    AKEYCODE_TV_NETWORK      = 241,
666    /** Antenna/Cable key.
667     * Toggles broadcast input source between antenna and cable. */
668    AKEYCODE_TV_ANTENNA_CABLE = 242,
669    /** HDMI #1 key.
670     * Switches to HDMI input #1. */
671    AKEYCODE_TV_INPUT_HDMI_1 = 243,
672    /** HDMI #2 key.
673     * Switches to HDMI input #2. */
674    AKEYCODE_TV_INPUT_HDMI_2 = 244,
675    /** HDMI #3 key.
676     * Switches to HDMI input #3. */
677    AKEYCODE_TV_INPUT_HDMI_3 = 245,
678    /** HDMI #4 key.
679     * Switches to HDMI input #4. */
680    AKEYCODE_TV_INPUT_HDMI_4 = 246,
681    /** Composite #1 key.
682     * Switches to composite video input #1. */
683    AKEYCODE_TV_INPUT_COMPOSITE_1 = 247,
684    /** Composite #2 key.
685     * Switches to composite video input #2. */
686    AKEYCODE_TV_INPUT_COMPOSITE_2 = 248,
687    /** Component #1 key.
688     * Switches to component video input #1. */
689    AKEYCODE_TV_INPUT_COMPONENT_1 = 249,
690    /** Component #2 key.
691     * Switches to component video input #2. */
692    AKEYCODE_TV_INPUT_COMPONENT_2 = 250,
693    /** VGA #1 key.
694     * Switches to VGA (analog RGB) input #1. */
695    AKEYCODE_TV_INPUT_VGA_1  = 251,
696    /** Audio description key.
697     * Toggles audio description off / on. */
698    AKEYCODE_TV_AUDIO_DESCRIPTION = 252,
699    /** Audio description mixing volume up key.
700     * Louden audio description volume as compared with normal audio volume. */
701    AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253,
702    /** Audio description mixing volume down key.
703     * Lessen audio description volume as compared with normal audio volume. */
704    AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254,
705    /** Zoom mode key.
706     * Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.) */
707    AKEYCODE_TV_ZOOM_MODE    = 255,
708    /** Contents menu key.
709     * Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control
710     * Code */
711    AKEYCODE_TV_CONTENTS_MENU = 256,
712    /** Media context menu key.
713     * Goes to the context menu of media contents. Corresponds to Media Context-sensitive
714     * Menu (0x11) of CEC User Control Code. */
715    AKEYCODE_TV_MEDIA_CONTEXT_MENU = 257,
716    /** Timer programming key.
717     * Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of
718     * CEC User Control Code. */
719    AKEYCODE_TV_TIMER_PROGRAMMING = 258,
720    /** Help key. */
721    AKEYCODE_HELP            = 259,
722    AKEYCODE_NAVIGATE_PREVIOUS = 260,
723    AKEYCODE_NAVIGATE_NEXT   = 261,
724    AKEYCODE_NAVIGATE_IN     = 262,
725    AKEYCODE_NAVIGATE_OUT    = 263,
726    /** Primary stem key for Wear
727     * Main power/reset button on watch. */
728    AKEYCODE_STEM_PRIMARY = 264,
729    /** Generic stem key 1 for Wear */
730    AKEYCODE_STEM_1 = 265,
731    /** Generic stem key 2 for Wear */
732    AKEYCODE_STEM_2 = 266,
733    /** Generic stem key 3 for Wear */
734    AKEYCODE_STEM_3 = 267,
735    /** Directional Pad Up-Left */
736    AKEYCODE_DPAD_UP_LEFT    = 268,
737    /** Directional Pad Down-Left */
738    AKEYCODE_DPAD_DOWN_LEFT  = 269,
739    /** Directional Pad Up-Right */
740    AKEYCODE_DPAD_UP_RIGHT   = 270,
741    /** Directional Pad Down-Right */
742    AKEYCODE_DPAD_DOWN_RIGHT = 271,
743    /** Skip forward media key */
744    AKEYCODE_MEDIA_SKIP_FORWARD = 272,
745    /** Skip backward media key */
746    AKEYCODE_MEDIA_SKIP_BACKWARD = 273,
747    /** Step forward media key.
748     * Steps media forward one from at a time. */
749    AKEYCODE_MEDIA_STEP_FORWARD = 274,
750    /** Step backward media key.
751     * Steps media backward one from at a time. */
752    AKEYCODE_MEDIA_STEP_BACKWARD = 275,
753    /** Put device to sleep unless a wakelock is held. */
754    AKEYCODE_SOFT_SLEEP = 276,
755    /** Cut key. */
756    AKEYCODE_CUT = 277,
757    /** Copy key. */
758    AKEYCODE_COPY = 278,
759    /** Paste key. */
760    AKEYCODE_PASTE = 279
761
762    // NOTE: If you add a new keycode here you must also add it to several other files.
763    //       Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
764};
765
766#ifdef __cplusplus
767}
768#endif
769
770#endif // _ANDROID_KEYCODES_H
771
772/** @} */
773