Home | History | Annotate | Download | only in android
      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 
    774     // NOTE: If you add a new keycode here you must also add it to several other files.
    775     //       Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
    776 };
    777 
    778 #ifdef __cplusplus
    779 }
    780 #endif
    781 
    782 #endif // _ANDROID_KEYCODES_H
    783 
    784 /** @} */
    785