1872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright/* 2872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * Copyright (C) 2008 The Android Open Source Project 3872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * 4872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * Licensed under the Apache License, Version 2.0 (the "License"); 5872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * you may not use this file except in compliance with the License. 6872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * You may obtain a copy of the License at 7872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * 8872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * http://www.apache.org/licenses/LICENSE-2.0 9872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * 10872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * Unless required by applicable law or agreed to in writing, software 11872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * distributed under the License is distributed on an "AS IS" BASIS, 12872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * See the License for the specific language governing permissions and 14872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright * limitations under the License. 15872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright */ 16872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 17872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#ifndef _LIBINPUT_INPUT_EVENT_LABELS_H 18872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#define _LIBINPUT_INPUT_EVENT_LABELS_H 19872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 20872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#include <input/Input.h> 21872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#include <android/keycodes.h> 22872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 23872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#define DEFINE_KEYCODE(key) { #key, AKEYCODE_##key } 24872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#define DEFINE_AXIS(axis) { #axis, AMOTION_EVENT_AXIS_##axis } 25872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#define DEFINE_LED(led) { #led, ALED_##led } 26872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#define DEFINE_FLAG(flag) { #flag, POLICY_FLAG_##flag } 27872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 28872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightnamespace android { 29872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 30872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrighttemplate<typename T, size_t N> 31872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightsize_t size(T (&)[N]) { return N; } 32872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 33872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstruct InputEventLabel { 34872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright const char *literal; 35872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright int value; 36872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright}; 37872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 38872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 39872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const InputEventLabel KEYCODES[] = { 40872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright // NOTE: If you add a new keycode here you must also add it to several other files. 41872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright // Refer to frameworks/base/core/java/android/view/KeyEvent.java for the full list. 42872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(UNKNOWN), 43872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SOFT_LEFT), 44872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SOFT_RIGHT), 45872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(HOME), 46872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BACK), 47872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CALL), 48872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ENDCALL), 49872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(0), 50872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(1), 51872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(2), 52872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(3), 53872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(4), 54872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(5), 55872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(6), 56872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(7), 57872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(8), 58872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(9), 59872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(STAR), 60872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(POUND), 61872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DPAD_UP), 62872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DPAD_DOWN), 63872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DPAD_LEFT), 64872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DPAD_RIGHT), 65872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DPAD_CENTER), 66872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(VOLUME_UP), 67872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(VOLUME_DOWN), 68872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(POWER), 69872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CAMERA), 70872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CLEAR), 71872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(A), 72872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(B), 73872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(C), 74872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(D), 75872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(E), 76872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F), 77872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(G), 78872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(H), 79872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(I), 80872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(J), 81872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(K), 82872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(L), 83872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(M), 84872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(N), 85872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(O), 86872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(P), 87872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(Q), 88872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(R), 89872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(S), 90872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(T), 91872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(U), 92872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(V), 93872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(W), 94872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(X), 95872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(Y), 96872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(Z), 97872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(COMMA), 98872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PERIOD), 99872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ALT_LEFT), 100872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ALT_RIGHT), 101872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SHIFT_LEFT), 102872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SHIFT_RIGHT), 103872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(TAB), 104872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SPACE), 105872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SYM), 106872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(EXPLORER), 107872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ENVELOPE), 108872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ENTER), 109872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DEL), 110872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(GRAVE), 111872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MINUS), 112872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(EQUALS), 113872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(LEFT_BRACKET), 114872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(RIGHT_BRACKET), 115872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BACKSLASH), 116872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SEMICOLON), 117872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(APOSTROPHE), 118872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SLASH), 119872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(AT), 120872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUM), 121872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(HEADSETHOOK), 122872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(FOCUS), // *Camera* focus 123872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PLUS), 124872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MENU), 125872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NOTIFICATION), 126872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SEARCH), 127872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_PLAY_PAUSE), 128872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_STOP), 129872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_NEXT), 130872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_PREVIOUS), 131872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_REWIND), 132872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_FAST_FORWARD), 133872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MUTE), 134872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PAGE_UP), 135872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PAGE_DOWN), 136872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PICTSYMBOLS), 137872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SWITCH_CHARSET), 138872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_A), 139872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_B), 140872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_C), 141872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_X), 142872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_Y), 143872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_Z), 144872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_L1), 145872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_R1), 146872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_L2), 147872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_R2), 148872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_THUMBL), 149872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_THUMBR), 150872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_START), 151872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_SELECT), 152872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_MODE), 153872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ESCAPE), 154872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(FORWARD_DEL), 155872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CTRL_LEFT), 156872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CTRL_RIGHT), 157872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CAPS_LOCK), 158872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SCROLL_LOCK), 159872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(META_LEFT), 160872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(META_RIGHT), 161872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(FUNCTION), 162872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SYSRQ), 163872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BREAK), 164872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MOVE_HOME), 165872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MOVE_END), 166872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(INSERT), 167872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(FORWARD), 168872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_PLAY), 169872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_PAUSE), 170872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_CLOSE), 171872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_EJECT), 172872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_RECORD), 173872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F1), 174872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F2), 175872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F3), 176872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F4), 177872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F5), 178872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F6), 179872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F7), 180872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F8), 181872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F9), 182872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F10), 183872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F11), 184872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(F12), 185872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUM_LOCK), 186872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_0), 187872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_1), 188872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_2), 189872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_3), 190872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_4), 191872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_5), 192872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_6), 193872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_7), 194872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_8), 195872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_9), 196872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_DIVIDE), 197872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_MULTIPLY), 198872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_SUBTRACT), 199872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_ADD), 200872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_DOT), 201872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_COMMA), 202872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_ENTER), 203872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_EQUALS), 204872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_LEFT_PAREN), 205872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(NUMPAD_RIGHT_PAREN), 206872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(VOLUME_MUTE), 207872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(INFO), 208872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CHANNEL_UP), 209872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CHANNEL_DOWN), 210872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ZOOM_IN), 211872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ZOOM_OUT), 212872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(TV), 213872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(WINDOW), 214872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(GUIDE), 215872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(DVR), 216872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BOOKMARK), 217872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CAPTIONS), 218872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SETTINGS), 219872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(TV_POWER), 220872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(TV_INPUT), 221872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(STB_POWER), 222872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(STB_INPUT), 223872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(AVR_POWER), 224872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(AVR_INPUT), 225872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PROG_RED), 226872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PROG_GREEN), 227872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PROG_YELLOW), 228872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(PROG_BLUE), 229872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(APP_SWITCH), 230872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_1), 231872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_2), 232872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_3), 233872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_4), 234872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_5), 235872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_6), 236872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_7), 237872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_8), 238872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_9), 239872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_10), 240872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_11), 241872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_12), 242872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_13), 243872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_14), 244872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_15), 245872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BUTTON_16), 246872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(LANGUAGE_SWITCH), 247872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MANNER_MODE), 248872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(3D_MODE), 249872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CONTACTS), 250872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CALENDAR), 251872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MUSIC), 252872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(CALCULATOR), 253872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ZENKAKU_HANKAKU), 254872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(EISU), 255872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MUHENKAN), 256872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(HENKAN), 257872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(KATAKANA_HIRAGANA), 258872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(YEN), 259872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(RO), 260872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(KANA), 261872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(ASSIST), 262872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BRIGHTNESS_DOWN), 263872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(BRIGHTNESS_UP), 264872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(MEDIA_AUDIO_TRACK), 265872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(SLEEP), 266872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_KEYCODE(WAKEUP), 2676b4e02f1cbdc55126cae9d2ce588640a784e7d61Tim Kilbourn DEFINE_KEYCODE(PAIRING), 268bc4e396d1721884adc48f64fbe6ef40afd8ede2dJinsuk Kim DEFINE_KEYCODE(MEDIA_TOP_MENU), 269bc4e396d1721884adc48f64fbe6ef40afd8ede2dJinsuk Kim DEFINE_KEYCODE(11), 270bc4e396d1721884adc48f64fbe6ef40afd8ede2dJinsuk Kim DEFINE_KEYCODE(12), 271bc4e396d1721884adc48f64fbe6ef40afd8ede2dJinsuk Kim DEFINE_KEYCODE(LAST_CHANNEL), 272bc4e396d1721884adc48f64fbe6ef40afd8ede2dJinsuk Kim DEFINE_KEYCODE(TV_DATA_SERVICE), 27351409573be11e89babeb61954a19c8261649ca7cMichael Wright DEFINE_KEYCODE(VOICE_ASSIST), 2745b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_RADIO_SERVICE), 2755b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_TELETEXT), 2765b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_NUMBER_ENTRY), 2775b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_TERRESTRIAL_ANALOG), 2785b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_TERRESTRIAL_DIGITAL), 2795b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_SATELLITE), 2805b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_SATELLITE_BS), 2815b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_SATELLITE_CS), 2825b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_SATELLITE_SERVICE), 2835b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_NETWORK), 2845b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_ANTENNA_CABLE), 2855b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_HDMI_1), 2865b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_HDMI_2), 2875b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_HDMI_3), 2885b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_HDMI_4), 2895b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_COMPOSITE_1), 2905b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_COMPOSITE_2), 2915b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_COMPONENT_1), 2925b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_COMPONENT_2), 2935b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_INPUT_VGA_1), 2945b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_AUDIO_DESCRIPTION), 2955b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_AUDIO_DESCRIPTION_MIX_UP), 2965b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_AUDIO_DESCRIPTION_MIX_DOWN), 2975b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_ZOOM_MODE), 2985b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_CONTENTS_MENU), 2995b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_MEDIA_CONTEXT_MENU), 3005b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(TV_TIMER_PROGRAMMING), 3015b3dc861fb707f46064238ec832f7bdbb4a5fbe8ASAZU, Hideki DEFINE_KEYCODE(HELP), 302872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 303872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright { NULL, 0 } 304872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright}; 305872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 306872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const InputEventLabel AXES[] = { 307872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(X), 308872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(Y), 309872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(PRESSURE), 310872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(SIZE), 311872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(TOUCH_MAJOR), 312872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(TOUCH_MINOR), 313872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(TOOL_MAJOR), 314872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(TOOL_MINOR), 315872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(ORIENTATION), 316872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(VSCROLL), 317872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(HSCROLL), 318872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(Z), 319872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(RX), 320872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(RY), 321872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(RZ), 322872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(HAT_X), 323872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(HAT_Y), 324872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(LTRIGGER), 325872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(RTRIGGER), 326872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(THROTTLE), 327872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(RUDDER), 328872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(WHEEL), 329872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GAS), 330872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(BRAKE), 331872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(DISTANCE), 332872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(TILT), 333872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_1), 334872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_2), 335872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_3), 336872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_4), 337872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_5), 338872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_6), 339872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_7), 340872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_8), 341872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_9), 342872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_10), 343872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_11), 344872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_12), 345872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_13), 346872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_14), 347872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_15), 348872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_AXIS(GENERIC_16), 349872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 350872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright // NOTE: If you add a new axis here you must also add it to several other files. 351872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright // Refer to frameworks/base/core/java/android/view/MotionEvent.java for the full list. 352872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright { NULL, 0 } 353872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright}; 354872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 355872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const InputEventLabel LEDS[] = { 356872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(NUM_LOCK), 357872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(CAPS_LOCK), 358872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(SCROLL_LOCK), 359872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(COMPOSE), 360872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(KANA), 361872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(SLEEP), 362872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(SUSPEND), 363872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(MUTE), 364872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(MISC), 365872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(MAIL), 366872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(CHARGING), 367872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(CONTROLLER_1), 368872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(CONTROLLER_2), 369872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(CONTROLLER_3), 370872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_LED(CONTROLLER_4), 371872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 372872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright // NOTE: If you add new LEDs here, you must also add them to Input.h 373872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright { NULL, 0 } 374872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright}; 375872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 376872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const InputEventLabel FLAGS[] = { 3775a7d2f9a15f0fc3799f855105aa07cf7ba534b6fJeff Brown DEFINE_FLAG(VIRTUAL), 378872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright DEFINE_FLAG(FUNCTION), 379872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 380872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright { NULL, 0 } 381872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright}; 382872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 383872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic int lookupValueByLabel(const char* literal, const InputEventLabel *list) { 384872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright while (list->literal) { 385872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright if (strcmp(literal, list->literal) == 0) { 386872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return list->value; 387872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright } 388872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright list++; 389872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright } 390872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return list->value; 391872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 392872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 393872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const char* lookupLabelByValue(int value, const InputEventLabel* list) { 394872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright while (list->literal) { 395872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright if (list->value == value) { 396872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return list->literal; 397872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright } 398872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright list++; 399872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright } 400872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return NULL; 401872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 402872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 403872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic int32_t getKeyCodeByLabel(const char* label) { 404872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return int32_t(lookupValueByLabel(label, KEYCODES)); 405872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 406872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 407872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const char* getLabelByKeyCode(int32_t keyCode) { 408872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright if (keyCode >= 0 && keyCode < size(KEYCODES)) { 409872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return KEYCODES[keyCode].literal; 410872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright } 411872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return NULL; 412872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 413872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 414872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic uint32_t getKeyFlagByLabel(const char* label) { 415872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return uint32_t(lookupValueByLabel(label, FLAGS)); 416872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 417872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 418872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic int32_t getAxisByLabel(const char* label) { 419872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return int32_t(lookupValueByLabel(label, AXES)); 420872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 421872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 422872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic const char* getAxisLabel(int32_t axisId) { 423872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return lookupLabelByValue(axisId, AXES); 424872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 425872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 426872db4f11e407accccba9d37c335ef7e3597eba4Michael Wrightstatic int32_t getLedByLabel(const char* label) { 427872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright return int32_t(lookupValueByLabel(label, LEDS)); 428872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} 429872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 430872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright 431872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright} // namespace android 432872db4f11e407accccba9d37c335ef7e3597eba4Michael Wright#endif // _LIBINPUT_INPUT_EVENT_LABELS_H 433