• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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