blob: 67e28da815452186e4d3e39298fbd3190a9894c7 [file] [log] [blame]
Mathias Agopiane1c61d32012-03-23 14:19:36 -07001/*
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
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070017/**
18 * @addtogroup Input
19 * @{
20 */
21
22/**
23 * @file keycodes.h
24 */
25
Mathias Agopiane1c61d32012-03-23 14:19:36 -070026#ifndef _ANDROID_KEYCODES_H
27#define _ANDROID_KEYCODES_H
28
29/******************************************************************
30 *
31 * IMPORTANT NOTICE:
32 *
33 * This file is part of Android's set of stable system headers
34 * exposed by the Android NDK (Native Development Kit).
35 *
36 * Third-party source AND binary code relies on the definitions
37 * here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
38 *
39 * - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
40 * - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
41 * - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
42 * - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
43 */
44
45#include <sys/types.h>
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070051/**
Mathias Agopiane1c61d32012-03-23 14:19:36 -070052 * Key codes.
53 */
54enum {
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070055 /** Unknown key code. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070056 AKEYCODE_UNKNOWN = 0,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070057 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070061 AKEYCODE_SOFT_LEFT = 1,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070062 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070066 AKEYCODE_SOFT_RIGHT = 2,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070067 /** Home key.
68 * This key is handled by the framework and is never delivered to applications. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070069 AKEYCODE_HOME = 3,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070070 /** Back key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070071 AKEYCODE_BACK = 4,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070072 /** Call key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070073 AKEYCODE_CALL = 5,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070074 /** End Call key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070075 AKEYCODE_ENDCALL = 6,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070076 /** '0' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070077 AKEYCODE_0 = 7,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070078 /** '1' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070079 AKEYCODE_1 = 8,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070080 /** '2' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070081 AKEYCODE_2 = 9,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070082 /** '3' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070083 AKEYCODE_3 = 10,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070084 /** '4' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070085 AKEYCODE_4 = 11,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070086 /** '5' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070087 AKEYCODE_5 = 12,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070088 /** '6' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070089 AKEYCODE_6 = 13,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070090 /** '7' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070091 AKEYCODE_7 = 14,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070092 /** '8' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070093 AKEYCODE_8 = 15,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070094 /** '9' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070095 AKEYCODE_9 = 16,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070096 /** '*' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070097 AKEYCODE_STAR = 17,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -070098 /** '#' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -070099 AKEYCODE_POUND = 18,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700100 /** Directional Pad Up key.
101 * May also be synthesized from trackball motions. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700102 AKEYCODE_DPAD_UP = 19,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700103 /** Directional Pad Down key.
104 * May also be synthesized from trackball motions. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700105 AKEYCODE_DPAD_DOWN = 20,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700106 /** Directional Pad Left key.
107 * May also be synthesized from trackball motions. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700108 AKEYCODE_DPAD_LEFT = 21,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700109 /** Directional Pad Right key.
110 * May also be synthesized from trackball motions. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700111 AKEYCODE_DPAD_RIGHT = 22,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700112 /** Directional Pad Center key.
113 * May also be synthesized from trackball motions. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700114 AKEYCODE_DPAD_CENTER = 23,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700115 /** Volume Up key.
116 * Adjusts the speaker volume up. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700117 AKEYCODE_VOLUME_UP = 24,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700118 /** Volume Down key.
119 * Adjusts the speaker volume down. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700120 AKEYCODE_VOLUME_DOWN = 25,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700121 /** Power key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700122 AKEYCODE_POWER = 26,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700123 /** Camera key.
124 * Used to launch a camera application or take pictures. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700125 AKEYCODE_CAMERA = 27,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700126 /** Clear key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700127 AKEYCODE_CLEAR = 28,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700128 /** 'A' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700129 AKEYCODE_A = 29,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700130 /** 'B' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700131 AKEYCODE_B = 30,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700132 /** 'C' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700133 AKEYCODE_C = 31,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700134 /** 'D' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700135 AKEYCODE_D = 32,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700136 /** 'E' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700137 AKEYCODE_E = 33,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700138 /** 'F' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700139 AKEYCODE_F = 34,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700140 /** 'G' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700141 AKEYCODE_G = 35,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700142 /** 'H' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700143 AKEYCODE_H = 36,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700144 /** 'I' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700145 AKEYCODE_I = 37,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700146 /** 'J' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700147 AKEYCODE_J = 38,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700148 /** 'K' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700149 AKEYCODE_K = 39,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700150 /** 'L' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700151 AKEYCODE_L = 40,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700152 /** 'M' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700153 AKEYCODE_M = 41,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700154 /** 'N' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700155 AKEYCODE_N = 42,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700156 /** 'O' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700157 AKEYCODE_O = 43,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700158 /** 'P' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700159 AKEYCODE_P = 44,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700160 /** 'Q' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700161 AKEYCODE_Q = 45,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700162 /** 'R' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700163 AKEYCODE_R = 46,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700164 /** 'S' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700165 AKEYCODE_S = 47,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700166 /** 'T' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700167 AKEYCODE_T = 48,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700168 /** 'U' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700169 AKEYCODE_U = 49,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700170 /** 'V' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700171 AKEYCODE_V = 50,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700172 /** 'W' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700173 AKEYCODE_W = 51,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700174 /** 'X' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700175 AKEYCODE_X = 52,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700176 /** 'Y' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700177 AKEYCODE_Y = 53,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700178 /** 'Z' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700179 AKEYCODE_Z = 54,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700180 /** ',' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700181 AKEYCODE_COMMA = 55,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700182 /** '.' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700183 AKEYCODE_PERIOD = 56,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700184 /** Left Alt modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700185 AKEYCODE_ALT_LEFT = 57,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700186 /** Right Alt modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700187 AKEYCODE_ALT_RIGHT = 58,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700188 /** Left Shift modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700189 AKEYCODE_SHIFT_LEFT = 59,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700190 /** Right Shift modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700191 AKEYCODE_SHIFT_RIGHT = 60,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700192 /** Tab key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700193 AKEYCODE_TAB = 61,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700194 /** Space key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700195 AKEYCODE_SPACE = 62,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700196 /** Symbol modifier key.
197 * Used to enter alternate symbols. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700198 AKEYCODE_SYM = 63,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700199 /** Explorer special function key.
200 * Used to launch a browser application. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700201 AKEYCODE_EXPLORER = 64,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700202 /** Envelope special function key.
203 * Used to launch a mail application. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700204 AKEYCODE_ENVELOPE = 65,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700205 /** Enter key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700206 AKEYCODE_ENTER = 66,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700207 /** Backspace key.
208 * Deletes characters before the insertion point, unlike {@link AKEYCODE_FORWARD_DEL}. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700209 AKEYCODE_DEL = 67,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700210 /** '`' (backtick) key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700211 AKEYCODE_GRAVE = 68,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700212 /** '-'. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700213 AKEYCODE_MINUS = 69,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700214 /** '=' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700215 AKEYCODE_EQUALS = 70,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700216 /** '[' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700217 AKEYCODE_LEFT_BRACKET = 71,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700218 /** ']' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700219 AKEYCODE_RIGHT_BRACKET = 72,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700220 /** '\' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700221 AKEYCODE_BACKSLASH = 73,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700222 /** ';' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700223 AKEYCODE_SEMICOLON = 74,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700224 /** ''' (apostrophe) key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700225 AKEYCODE_APOSTROPHE = 75,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700226 /** '/' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700227 AKEYCODE_SLASH = 76,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700228 /** '@' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700229 AKEYCODE_AT = 77,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700230 /** 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}. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700233 AKEYCODE_NUM = 78,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700234 /** Headset Hook key.
235 * Used to hang up calls and stop media. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700236 AKEYCODE_HEADSETHOOK = 79,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700237 /** Camera Focus key.
238 * Used to focus the camera. */
239 AKEYCODE_FOCUS = 80,
240 /** '+' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700241 AKEYCODE_PLUS = 81,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700242 /** Menu key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700243 AKEYCODE_MENU = 82,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700244 /** Notification key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700245 AKEYCODE_NOTIFICATION = 83,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700246 /** Search key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700247 AKEYCODE_SEARCH = 84,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700248 /** Play/Pause media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700249 AKEYCODE_MEDIA_PLAY_PAUSE= 85,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700250 /** Stop media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700251 AKEYCODE_MEDIA_STOP = 86,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700252 /** Play Next media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700253 AKEYCODE_MEDIA_NEXT = 87,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700254 /** Play Previous media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700255 AKEYCODE_MEDIA_PREVIOUS = 88,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700256 /** Rewind media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700257 AKEYCODE_MEDIA_REWIND = 89,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700258 /** Fast Forward media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700259 AKEYCODE_MEDIA_FAST_FORWARD = 90,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700260 /** Mute key.
261 * Mutes the microphone, unlike {@link AKEYCODE_VOLUME_MUTE}. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700262 AKEYCODE_MUTE = 91,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700263 /** Page Up key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700264 AKEYCODE_PAGE_UP = 92,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700265 /** Page Down key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700266 AKEYCODE_PAGE_DOWN = 93,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700267 /** Picture Symbols modifier key.
268 * Used to switch symbol sets (Emoji, Kao-moji). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700269 AKEYCODE_PICTSYMBOLS = 94,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700270 /** Switch Charset modifier key.
271 * Used to switch character sets (Kanji, Katakana). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700272 AKEYCODE_SWITCH_CHARSET = 95,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700273 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700276 AKEYCODE_BUTTON_A = 96,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700277 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700280 AKEYCODE_BUTTON_B = 97,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700281 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700284 AKEYCODE_BUTTON_C = 98,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700285 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700288 AKEYCODE_BUTTON_X = 99,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700289 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700292 AKEYCODE_BUTTON_Y = 100,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700293 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700296 AKEYCODE_BUTTON_Z = 101,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700297 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700300 AKEYCODE_BUTTON_L1 = 102,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700301 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700304 AKEYCODE_BUTTON_R1 = 103,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700305 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700308 AKEYCODE_BUTTON_L2 = 104,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700309 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700312 AKEYCODE_BUTTON_R2 = 105,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700313 /** Left Thumb Button key.
314 * On a game controller, the left thumb button indicates that the left (or only)
315 * joystick is pressed. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700316 AKEYCODE_BUTTON_THUMBL = 106,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700317 /** Right Thumb Button key.
318 * On a game controller, the right thumb button indicates that the right
319 * joystick is pressed. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700320 AKEYCODE_BUTTON_THUMBR = 107,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700321 /** Start Button key.
322 * On a game controller, the button labeled Start. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700323 AKEYCODE_BUTTON_START = 108,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700324 /** Select Button key.
325 * On a game controller, the button labeled Select. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700326 AKEYCODE_BUTTON_SELECT = 109,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700327 /** Mode Button key.
328 * On a game controller, the button labeled Mode. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700329 AKEYCODE_BUTTON_MODE = 110,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700330 /** Escape key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700331 AKEYCODE_ESCAPE = 111,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700332 /** Forward Delete key.
333 * Deletes characters ahead of the insertion point, unlike {@link AKEYCODE_DEL}. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700334 AKEYCODE_FORWARD_DEL = 112,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700335 /** Left Control modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700336 AKEYCODE_CTRL_LEFT = 113,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700337 /** Right Control modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700338 AKEYCODE_CTRL_RIGHT = 114,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700339 /** Caps Lock key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700340 AKEYCODE_CAPS_LOCK = 115,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700341 /** Scroll Lock key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700342 AKEYCODE_SCROLL_LOCK = 116,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700343 /** Left Meta modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700344 AKEYCODE_META_LEFT = 117,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700345 /** Right Meta modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700346 AKEYCODE_META_RIGHT = 118,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700347 /** Function modifier key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700348 AKEYCODE_FUNCTION = 119,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700349 /** System Request / Print Screen key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700350 AKEYCODE_SYSRQ = 120,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700351 /** Break / Pause key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700352 AKEYCODE_BREAK = 121,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700353 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700356 AKEYCODE_MOVE_HOME = 122,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700357 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700360 AKEYCODE_MOVE_END = 123,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700361 /** Insert key.
362 * Toggles insert / overwrite edit mode. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700363 AKEYCODE_INSERT = 124,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700364 /** Forward key.
365 * Navigates forward in the history stack. Complement of {@link AKEYCODE_BACK}. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700366 AKEYCODE_FORWARD = 125,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700367 /** Play media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700368 AKEYCODE_MEDIA_PLAY = 126,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700369 /** Pause media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700370 AKEYCODE_MEDIA_PAUSE = 127,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700371 /** Close media key.
372 * May be used to close a CD tray, for example. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700373 AKEYCODE_MEDIA_CLOSE = 128,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700374 /** Eject media key.
375 * May be used to eject a CD tray, for example. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700376 AKEYCODE_MEDIA_EJECT = 129,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700377 /** Record media key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700378 AKEYCODE_MEDIA_RECORD = 130,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700379 /** F1 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700380 AKEYCODE_F1 = 131,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700381 /** F2 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700382 AKEYCODE_F2 = 132,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700383 /** F3 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700384 AKEYCODE_F3 = 133,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700385 /** F4 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700386 AKEYCODE_F4 = 134,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700387 /** F5 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700388 AKEYCODE_F5 = 135,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700389 /** F6 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700390 AKEYCODE_F6 = 136,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700391 /** F7 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700392 AKEYCODE_F7 = 137,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700393 /** F8 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700394 AKEYCODE_F8 = 138,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700395 /** F9 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700396 AKEYCODE_F9 = 139,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700397 /** F10 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700398 AKEYCODE_F10 = 140,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700399 /** F11 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700400 AKEYCODE_F11 = 141,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700401 /** F12 key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700402 AKEYCODE_F12 = 142,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700403 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700406 AKEYCODE_NUM_LOCK = 143,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700407 /** Numeric keypad '0' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700408 AKEYCODE_NUMPAD_0 = 144,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700409 /** Numeric keypad '1' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700410 AKEYCODE_NUMPAD_1 = 145,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700411 /** Numeric keypad '2' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700412 AKEYCODE_NUMPAD_2 = 146,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700413 /** Numeric keypad '3' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700414 AKEYCODE_NUMPAD_3 = 147,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700415 /** Numeric keypad '4' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700416 AKEYCODE_NUMPAD_4 = 148,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700417 /** Numeric keypad '5' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700418 AKEYCODE_NUMPAD_5 = 149,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700419 /** Numeric keypad '6' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700420 AKEYCODE_NUMPAD_6 = 150,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700421 /** Numeric keypad '7' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700422 AKEYCODE_NUMPAD_7 = 151,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700423 /** Numeric keypad '8' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700424 AKEYCODE_NUMPAD_8 = 152,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700425 /** Numeric keypad '9' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700426 AKEYCODE_NUMPAD_9 = 153,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700427 /** Numeric keypad '/' key (for division). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700428 AKEYCODE_NUMPAD_DIVIDE = 154,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700429 /** Numeric keypad '*' key (for multiplication). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700430 AKEYCODE_NUMPAD_MULTIPLY = 155,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700431 /** Numeric keypad '-' key (for subtraction). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700432 AKEYCODE_NUMPAD_SUBTRACT = 156,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700433 /** Numeric keypad '+' key (for addition). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700434 AKEYCODE_NUMPAD_ADD = 157,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700435 /** Numeric keypad '.' key (for decimals or digit grouping). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700436 AKEYCODE_NUMPAD_DOT = 158,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700437 /** Numeric keypad ',' key (for decimals or digit grouping). */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700438 AKEYCODE_NUMPAD_COMMA = 159,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700439 /** Numeric keypad Enter key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700440 AKEYCODE_NUMPAD_ENTER = 160,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700441 /** Numeric keypad '=' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700442 AKEYCODE_NUMPAD_EQUALS = 161,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700443 /** Numeric keypad '(' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700444 AKEYCODE_NUMPAD_LEFT_PAREN = 162,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700445 /** Numeric keypad ')' key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700446 AKEYCODE_NUMPAD_RIGHT_PAREN = 163,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700447 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700451 AKEYCODE_VOLUME_MUTE = 164,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700452 /** Info key.
453 * Common on TV remotes to show additional information related to what is
454 * currently being viewed. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700455 AKEYCODE_INFO = 165,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700456 /** Channel up key.
457 * On TV remotes, increments the television channel. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700458 AKEYCODE_CHANNEL_UP = 166,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700459 /** Channel down key.
460 * On TV remotes, decrements the television channel. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700461 AKEYCODE_CHANNEL_DOWN = 167,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700462 /** Zoom in key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700463 AKEYCODE_ZOOM_IN = 168,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700464 /** Zoom out key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700465 AKEYCODE_ZOOM_OUT = 169,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700466 /** TV key.
467 * On TV remotes, switches to viewing live TV. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700468 AKEYCODE_TV = 170,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700469 /** Window key.
470 * On TV remotes, toggles picture-in-picture mode or other windowing functions. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700471 AKEYCODE_WINDOW = 171,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700472 /** Guide key.
473 * On TV remotes, shows a programming guide. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700474 AKEYCODE_GUIDE = 172,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700475 /** DVR key.
476 * On some TV remotes, switches to a DVR mode for recorded shows. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700477 AKEYCODE_DVR = 173,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700478 /** Bookmark key.
479 * On some TV remotes, bookmarks content or web pages. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700480 AKEYCODE_BOOKMARK = 174,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700481 /** Toggle captions key.
482 * Switches the mode for closed-captioning text, for example during television shows. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700483 AKEYCODE_CAPTIONS = 175,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700484 /** Settings key.
485 * Starts the system settings activity. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700486 AKEYCODE_SETTINGS = 176,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700487 /** TV power key.
488 * On TV remotes, toggles the power on a television screen. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700489 AKEYCODE_TV_POWER = 177,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700490 /** TV input key.
491 * On TV remotes, switches the input on a television screen. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700492 AKEYCODE_TV_INPUT = 178,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700493 /** Set-top-box power key.
494 * On TV remotes, toggles the power on an external Set-top-box. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700495 AKEYCODE_STB_POWER = 179,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700496 /** Set-top-box input key.
497 * On TV remotes, switches the input mode on an external Set-top-box. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700498 AKEYCODE_STB_INPUT = 180,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700499 /** A/V Receiver power key.
500 * On TV remotes, toggles the power on an external A/V Receiver. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700501 AKEYCODE_AVR_POWER = 181,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700502 /** A/V Receiver input key.
503 * On TV remotes, switches the input mode on an external A/V Receiver. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700504 AKEYCODE_AVR_INPUT = 182,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700505 /** Red "programmable" key.
506 * On TV remotes, acts as a contextual/programmable key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700507 AKEYCODE_PROG_RED = 183,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700508 /** Green "programmable" key.
509 * On TV remotes, actsas a contextual/programmable key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700510 AKEYCODE_PROG_GREEN = 184,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700511 /** Yellow "programmable" key.
512 * On TV remotes, acts as a contextual/programmable key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700513 AKEYCODE_PROG_YELLOW = 185,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700514 /** Blue "programmable" key.
515 * On TV remotes, acts as a contextual/programmable key. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700516 AKEYCODE_PROG_BLUE = 186,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700517 /** App switch key.
518 * Should bring up the application switcher dialog. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700519 AKEYCODE_APP_SWITCH = 187,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700520 /** Generic Game Pad Button #1.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700521 AKEYCODE_BUTTON_1 = 188,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700522 /** Generic Game Pad Button #2.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700523 AKEYCODE_BUTTON_2 = 189,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700524 /** Generic Game Pad Button #3.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700525 AKEYCODE_BUTTON_3 = 190,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700526 /** Generic Game Pad Button #4.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700527 AKEYCODE_BUTTON_4 = 191,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700528 /** Generic Game Pad Button #5.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700529 AKEYCODE_BUTTON_5 = 192,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700530 /** Generic Game Pad Button #6.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700531 AKEYCODE_BUTTON_6 = 193,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700532 /** Generic Game Pad Button #7.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700533 AKEYCODE_BUTTON_7 = 194,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700534 /** Generic Game Pad Button #8.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700535 AKEYCODE_BUTTON_8 = 195,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700536 /** Generic Game Pad Button #9.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700537 AKEYCODE_BUTTON_9 = 196,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700538 /** Generic Game Pad Button #10.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700539 AKEYCODE_BUTTON_10 = 197,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700540 /** Generic Game Pad Button #11.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700541 AKEYCODE_BUTTON_11 = 198,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700542 /** Generic Game Pad Button #12.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700543 AKEYCODE_BUTTON_12 = 199,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700544 /** Generic Game Pad Button #13.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700545 AKEYCODE_BUTTON_13 = 200,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700546 /** Generic Game Pad Button #14.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700547 AKEYCODE_BUTTON_14 = 201,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700548 /** Generic Game Pad Button #15.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700549 AKEYCODE_BUTTON_15 = 202,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700550 /** Generic Game Pad Button #16.*/
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700551 AKEYCODE_BUTTON_16 = 203,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700552 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700556 AKEYCODE_LANGUAGE_SWITCH = 204,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700557 /** 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. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700561 AKEYCODE_MANNER_MODE = 205,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700562 /** 3D Mode key.
563 * Toggles the display between 2D and 3D mode. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700564 AKEYCODE_3D_MODE = 206,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700565 /** Contacts special function key.
566 * Used to launch an address book application. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700567 AKEYCODE_CONTACTS = 207,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700568 /** Calendar special function key.
569 * Used to launch a calendar application. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700570 AKEYCODE_CALENDAR = 208,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700571 /** Music special function key.
572 * Used to launch a music player application. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700573 AKEYCODE_MUSIC = 209,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700574 /** Calculator special function key.
575 * Used to launch a calculator application. */
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700576 AKEYCODE_CALCULATOR = 210,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700577 /** Japanese full-width / half-width key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800578 AKEYCODE_ZENKAKU_HANKAKU = 211,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700579 /** Japanese alphanumeric key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800580 AKEYCODE_EISU = 212,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700581 /** Japanese non-conversion key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800582 AKEYCODE_MUHENKAN = 213,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700583 /** Japanese conversion key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800584 AKEYCODE_HENKAN = 214,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700585 /** Japanese katakana / hiragana key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800586 AKEYCODE_KATAKANA_HIRAGANA = 215,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700587 /** Japanese Yen key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800588 AKEYCODE_YEN = 216,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700589 /** Japanese Ro key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800590 AKEYCODE_RO = 217,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700591 /** Japanese kana key. */
Yang Chuanga1ec30e2012-02-10 15:18:26 +0800592 AKEYCODE_KANA = 218,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700593 /** Assist key.
594 * Launches the global assist activity. Not delivered to applications. */
Jeff Brown16272ef2012-06-15 11:46:11 -0700595 AKEYCODE_ASSIST = 219,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700596 /** Brightness Down key.
597 * Adjusts the screen brightness down. */
Michael Wrighte85650d2013-01-31 15:14:54 -0800598 AKEYCODE_BRIGHTNESS_DOWN = 220,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700599 /** Brightness Up key.
600 * Adjusts the screen brightness up. */
Michael Wrighte85650d2013-01-31 15:14:54 -0800601 AKEYCODE_BRIGHTNESS_UP = 221,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700602 /** Audio Track key.
603 * Switches the audio tracks. */
Jaekyun Seok8d06dcf2013-07-08 13:56:02 +0900604 AKEYCODE_MEDIA_AUDIO_TRACK = 222,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700605 /** 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. */
Jeff Brown37bf0782014-03-07 13:57:59 -0800608 AKEYCODE_SLEEP = 223,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700609 /** 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. */
Jeff Brown37bf0782014-03-07 13:57:59 -0800612 AKEYCODE_WAKEUP = 224,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700613 /** 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. */
Tim Kilbourn6b4e02f2014-04-14 15:37:20 -0700617 AKEYCODE_PAIRING = 225,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700618 /** Media Top Menu key.
619 * Goes to the top of media menu. */
Jinsuk Kimbc4e3962014-05-14 15:36:48 +0900620 AKEYCODE_MEDIA_TOP_MENU = 226,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700621 /** '11' key. */
Jinsuk Kimbc4e3962014-05-14 15:36:48 +0900622 AKEYCODE_11 = 227,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700623 /** '12' key. */
Jinsuk Kimbc4e3962014-05-14 15:36:48 +0900624 AKEYCODE_12 = 228,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700625 /** Last Channel key.
626 * Goes to the last viewed channel. */
Jinsuk Kimbc4e3962014-05-14 15:36:48 +0900627 AKEYCODE_LAST_CHANNEL = 229,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700628 /** TV data service key.
629 * Displays data services like weather, sports. */
Michael Wright51409572014-08-21 19:09:49 -0700630 AKEYCODE_TV_DATA_SERVICE = 230,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700631 /** Voice Assist key.
632 * Launches the global voice assist activity. Not delivered to applications. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900633 AKEYCODE_VOICE_ASSIST = 231,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700634 /** Radio key.
635 * Toggles TV service / Radio service. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900636 AKEYCODE_TV_RADIO_SERVICE = 232,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700637 /** Teletext key.
638 * Displays Teletext service. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900639 AKEYCODE_TV_TELETEXT = 233,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700640 /** 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. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900644 AKEYCODE_TV_NUMBER_ENTRY = 234,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700645 /** Analog Terrestrial key.
646 * Switches to analog terrestrial broadcast service. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900647 AKEYCODE_TV_TERRESTRIAL_ANALOG = 235,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700648 /** Digital Terrestrial key.
649 * Switches to digital terrestrial broadcast service. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900650 AKEYCODE_TV_TERRESTRIAL_DIGITAL = 236,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700651 /** Satellite key.
652 * Switches to digital satellite broadcast service. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900653 AKEYCODE_TV_SATELLITE = 237,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700654 /** BS key.
655 * Switches to BS digital satellite broadcasting service available in Japan. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900656 AKEYCODE_TV_SATELLITE_BS = 238,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700657 /** CS key.
658 * Switches to CS digital satellite broadcasting service available in Japan. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900659 AKEYCODE_TV_SATELLITE_CS = 239,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700660 /** BS/CS key.
661 * Toggles between BS and CS digital satellite services. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900662 AKEYCODE_TV_SATELLITE_SERVICE = 240,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700663 /** Toggle Network key.
664 * Toggles selecting broacast services. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900665 AKEYCODE_TV_NETWORK = 241,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700666 /** Antenna/Cable key.
667 * Toggles broadcast input source between antenna and cable. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900668 AKEYCODE_TV_ANTENNA_CABLE = 242,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700669 /** HDMI #1 key.
670 * Switches to HDMI input #1. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900671 AKEYCODE_TV_INPUT_HDMI_1 = 243,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700672 /** HDMI #2 key.
673 * Switches to HDMI input #2. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900674 AKEYCODE_TV_INPUT_HDMI_2 = 244,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700675 /** HDMI #3 key.
676 * Switches to HDMI input #3. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900677 AKEYCODE_TV_INPUT_HDMI_3 = 245,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700678 /** HDMI #4 key.
679 * Switches to HDMI input #4. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900680 AKEYCODE_TV_INPUT_HDMI_4 = 246,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700681 /** Composite #1 key.
682 * Switches to composite video input #1. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900683 AKEYCODE_TV_INPUT_COMPOSITE_1 = 247,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700684 /** Composite #2 key.
685 * Switches to composite video input #2. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900686 AKEYCODE_TV_INPUT_COMPOSITE_2 = 248,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700687 /** Component #1 key.
688 * Switches to component video input #1. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900689 AKEYCODE_TV_INPUT_COMPONENT_1 = 249,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700690 /** Component #2 key.
691 * Switches to component video input #2. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900692 AKEYCODE_TV_INPUT_COMPONENT_2 = 250,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700693 /** VGA #1 key.
694 * Switches to VGA (analog RGB) input #1. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900695 AKEYCODE_TV_INPUT_VGA_1 = 251,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700696 /** Audio description key.
697 * Toggles audio description off / on. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900698 AKEYCODE_TV_AUDIO_DESCRIPTION = 252,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700699 /** Audio description mixing volume up key.
700 * Louden audio description volume as compared with normal audio volume. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900701 AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700702 /** Audio description mixing volume down key.
703 * Lessen audio description volume as compared with normal audio volume. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900704 AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700705 /** Zoom mode key.
706 * Changes Zoom mode (Normal, Full, Zoom, Wide-zoom, etc.) */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900707 AKEYCODE_TV_ZOOM_MODE = 255,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700708 /** Contents menu key.
709 * Goes to the title list. Corresponds to Contents Menu (0x0B) of CEC User Control
710 * Code */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900711 AKEYCODE_TV_CONTENTS_MENU = 256,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700712 /** 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. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900715 AKEYCODE_TV_MEDIA_CONTEXT_MENU = 257,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700716 /** Timer programming key.
717 * Goes to the timer recording menu. Corresponds to Timer Programming (0x54) of
718 * CEC User Control Code. */
ASAZU, Hideki5b3dc862014-08-27 18:06:31 +0900719 AKEYCODE_TV_TIMER_PROGRAMMING = 258,
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700720 /** Help key. */
Joseph Coopere50376e2015-04-15 16:45:18 -0700721 AKEYCODE_HELP = 259,
722 AKEYCODE_NAVIGATE_PREVIOUS = 260,
723 AKEYCODE_NAVIGATE_NEXT = 261,
724 AKEYCODE_NAVIGATE_IN = 262,
Anthony Hugh887b00d2015-06-23 10:49:05 -0700725 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 */
David Stevens01ed1862015-07-31 11:08:36 -0700734 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 */
Michael Wrightd0aa3302015-08-06 15:17:31 +0100742 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. */
Nick Armstrong-Crewsa180e852015-09-02 13:00:52 -0700752 AKEYCODE_MEDIA_STEP_BACKWARD = 275,
753 /** Put device to sleep unless a wakelock is held. */
Michael Wrighte30f7e12015-10-21 18:09:02 +0100754 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
Mathias Agopiane1c61d32012-03-23 14:19:36 -0700761
762 // NOTE: If you add a new keycode here you must also add it to several other files.
763 // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list.
764};
765
766#ifdef __cplusplus
767}
768#endif
769
770#endif // _ANDROID_KEYCODES_H
Johan Euphrosinebf6d5e02015-03-27 17:15:43 -0700771
772/** @} */