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
48 extern "C" {
49 #endif
50 
51 /**
52  * Key codes.
53  */
54 enum {
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     /** fingerprint navigation key, up. */
762     AKEYCODE_SYSTEM_NAVIGATION_UP = 280,
763     /** fingerprint navigation key, down. */
764     AKEYCODE_SYSTEM_NAVIGATION_DOWN = 281,
765     /** fingerprint navigation key, left. */
766     AKEYCODE_SYSTEM_NAVIGATION_LEFT = 282,
767     /** fingerprint navigation key, right. */
768     AKEYCODE_SYSTEM_NAVIGATION_RIGHT = 283,
769     /** all apps */
770     AKEYCODE_ALL_APPS = 284,
771     /** refresh key */
772     AKEYCODE_REFRESH = 285,
773     /** Thumbs up key. Apps can use this to let user upvote content. */
774     AKEYCODE_THUMBS_UP = 286,
775     /** Thumbs down key. Apps can use this to let user downvote content. */
776     AKEYCODE_THUMBS_DOWN = 287,
777     /** Used to switch current account that is consuming content.
778      * May be consumed by system to switch current viewer profile. */
779     AKEYCODE_PROFILE_SWITCH = 288
780 
781     // NOTE: If you add a new keycode here you must also add it to several other files.
782     //       Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
783 };
784 
785 #ifdef __cplusplus
786 }
787 #endif
788 
789 #endif // _ANDROID_KEYCODES_H
790 
791 /** @} */
792