Skip to content

Latest commit

 

History

History
806 lines (749 loc) · 26 KB

capabilities.md

File metadata and controls

806 lines (749 loc) · 26 KB

Input Capabilities

Enumeration

enum InputCapability {
  KEYBOARD_KEY_RESERVED = 0
  KEYBOARD_KEY_ESC = 	1
  KEYBOARD_KEY_1 = 	2
  KEYBOARD_KEY_2 = 	3
  KEYBOARD_KEY_3 = 	4
  KEYBOARD_KEY_4 = 	5
  KEYBOARD_KEY_5 = 	6
  KEYBOARD_KEY_6 = 	7
  KEYBOARD_KEY_7 = 	8
  KEYBOARD_KEY_8 = 	9
  KEYBOARD_KEY_9 = 	10
  KEYBOARD_KEY_0 = 	11
  KEYBOARD_KEY_MINUS = 12
  KEYBOARD_KEY_EQUAL = 13
  KEYBOARD_KEY_BACKSPACE = 14
  KEYBOARD_KEY_TAB = 	15
  KEYBOARD_KEY_Q = 	16
  KEYBOARD_KEY_W = 	17
  KEYBOARD_KEY_E = 	18
  KEYBOARD_KEY_R = 	19
  KEYBOARD_KEY_T = 	20
  KEYBOARD_KEY_Y = 	21
  KEYBOARD_KEY_U = 	22
  KEYBOARD_KEY_I = 	23
  KEYBOARD_KEY_O = 	24
  KEYBOARD_KEY_P = 	25
  KEYBOARD_KEY_LEFTBRACE = 26
  KEYBOARD_KEY_RIGHTBRACE = 27
  KEYBOARD_KEY_ENTER = 28
  KEYBOARD_KEY_LEFTCTRL = 29
  KEYBOARD_KEY_A = 	30
  KEYBOARD_KEY_S = 	31
  KEYBOARD_KEY_D = 	32
  KEYBOARD_KEY_F = 	33
  KEYBOARD_KEY_G = 	34
  KEYBOARD_KEY_H = 	35
  KEYBOARD_KEY_J = 	36
  KEYBOARD_KEY_K = 	37
  KEYBOARD_KEY_L = 	38
  KEYBOARD_KEY_SEMICOLON = 39
  KEYBOARD_KEY_APOSTROPHE = 40
  KEYBOARD_KEY_GRAVE = 41
  KEYBOARD_KEY_LEFTSHIFT = 42
  KEYBOARD_KEY_BACKSLASH = 43
  KEYBOARD_KEY_Z = 	44
  KEYBOARD_KEY_X = 	45
  KEYBOARD_KEY_C = 	46
  KEYBOARD_KEY_V = 	47
  KEYBOARD_KEY_B = 	48
  KEYBOARD_KEY_N = 	49
  KEYBOARD_KEY_M = 	50
  KEYBOARD_KEY_COMMA = 51
  KEYBOARD_KEY_DOT = 	52
  KEYBOARD_KEY_SLASH = 53
  KEYBOARD_KEY_RIGHTSHIFT = 54
  KEYBOARD_KEY_KPASTERISK = 55
  KEYBOARD_KEY_LEFTALT = 56
  KEYBOARD_KEY_SPACE = 57
  KEYBOARD_KEY_CAPSLOCK = 58
  KEYBOARD_KEY_F1 = 	59
  KEYBOARD_KEY_F2 = 	60
  KEYBOARD_KEY_F3 = 	61
  KEYBOARD_KEY_F4 = 	62
  KEYBOARD_KEY_F5 = 	63
  KEYBOARD_KEY_F6 = 	64
  KEYBOARD_KEY_F7 = 	65
  KEYBOARD_KEY_F8 = 	66
  KEYBOARD_KEY_F9 = 	67
  KEYBOARD_KEY_F10 = 	68
  KEYBOARD_KEY_NUMLOCK = 69
  KEYBOARD_KEY_SCROLLLOCK = 70
  KEYBOARD_KEY_KP7 = 	71
  KEYBOARD_KEY_KP8 = 	72
  KEYBOARD_KEY_KP9 = 	73
  KEYBOARD_KEY_KPMINUS = 74
  KEYBOARD_KEY_KP4 = 	75
  KEYBOARD_KEY_KP5 = 	76
  KEYBOARD_KEY_KP6 = 	77
  KEYBOARD_KEY_KPPLUS = 78
  KEYBOARD_KEY_KP1 = 	79
  KEYBOARD_KEY_KP2 = 	80
  KEYBOARD_KEY_KP3 = 	81
  KEYBOARD_KEY_KP0 = 	82
  KEYBOARD_KEY_KPDOT = 83

  KEYBOARD_KEY_ZENKAKUHANKAKU	85
  KEYBOARD_KEY_102ND = 86
  KEYBOARD_KEY_F11 = 	87
  KEYBOARD_KEY_F12 = 	88
  KEYBOARD_KEY_RO = 	89
  KEYBOARD_KEY_KATAKANA = 90
  KEYBOARD_KEY_HIRAGANA = 91
  KEYBOARD_KEY_HENKAN = 92
  KEYBOARD_KEY_KATAKANAHIRAGANA	93
  KEYBOARD_KEY_MUHENKAN = 94
  KEYBOARD_KEY_KPJPCOMMA = 95
  KEYBOARD_KEY_KPENTER = 96
  KEYBOARD_KEY_RIGHTCTRL = 97
  KEYBOARD_KEY_KPSLASH = 98
  KEYBOARD_KEY_SYSRQ = 99
  KEYBOARD_KEY_RIGHTALT = 100
  KEYBOARD_KEY_LINEFEED = 101
  KEYBOARD_KEY_HOME = 102
  KEYBOARD_KEY_UP = 	103
  KEYBOARD_KEY_PAGEUP = 104
  KEYBOARD_KEY_LEFT = 105
  KEYBOARD_KEY_RIGHT = 106
  KEYBOARD_KEY_END = 	107
  KEYBOARD_KEY_DOWN = 108
  KEYBOARD_KEY_PAGEDOWN = 109
  KEYBOARD_KEY_INSERT = 110
  KEYBOARD_KEY_DELETE = 111
  KEYBOARD_KEY_MACRO = 112
  KEYBOARD_KEY_MUTE = 113
  KEYBOARD_KEY_VOLUMEDOWN = 114
  KEYBOARD_KEY_VOLUMEUP = 115
  KEYBOARD_KEY_POWER = 116	/* SC System Power Down */
  KEYBOARD_KEY_KPEQUAL = 117
  KEYBOARD_KEY_KPPLUSMINUS = 118
  KEYBOARD_KEY_PAUSE = 119
  KEYBOARD_KEY_SCALE = 120	/* AL Compiz Scale (Expose) */

  KEYBOARD_KEY_KPCOMMA = 121
  KEYBOARD_KEY_HANGEUL = 122
  KEYBOARD_KEY_HANGUEL = KEY_HANGEUL
  KEYBOARD_KEY_HANJA = 123
  KEYBOARD_KEY_YEN = 	124
  KEYBOARD_KEY_LEFTMETA = 125
  KEYBOARD_KEY_RIGHTMETA = 126
  KEYBOARD_KEY_COMPOSE = 127

  KEYBOARD_KEY_STOP = 128	/* AC Stop */
  KEYBOARD_KEY_AGAIN = 129
  KEYBOARD_KEY_PROPS = 130	/* AC Properties */
  KEYBOARD_KEY_UNDO = 131	/* AC Undo */
  KEYBOARD_KEY_FRONT = 132
  KEYBOARD_KEY_COPY = 133	/* AC Copy */
  KEYBOARD_KEY_OPEN = 134	/* AC Open */
  KEYBOARD_KEY_PASTE = 135	/* AC Paste */
  KEYBOARD_KEY_FIND = 136	/* AC Search */
  KEYBOARD_KEY_CUT = 	137	/* AC Cut */
  KEYBOARD_KEY_HELP = 138	/* AL Integrated Help Center */
  KEYBOARD_KEY_MENU = 139	/* Menu (show menu) */
  KEYBOARD_KEY_CALC = 140	/* AL Calculator */
  KEYBOARD_KEY_SETUP = 141
  KEYBOARD_KEY_SLEEP = 142	/* SC System Sleep */
  KEYBOARD_KEY_WAKEUP = 143	/* System Wake Up */
  KEYBOARD_KEY_FILE = 144	/* AL Local Machine Browser */
  KEYBOARD_KEY_SENDFILE = 145
  KEYBOARD_KEY_DELETEFILE = 146
  KEYBOARD_KEY_XFER = 147
  KEYBOARD_KEY_PROG1 = 148
  KEYBOARD_KEY_PROG2 = 149
  KEYBOARD_KEY_WWW = 	150	/* AL Internet Browser */
  KEYBOARD_KEY_MSDOS = 151
  KEYBOARD_KEY_COFFEE = 152	/* AL Terminal Lock/Screensaver */
  KEYBOARD_KEY_SCREENLOCK = KEY_COFFEE
  KEYBOARD_KEY_ROTATE_DISPLAY	153	/* Display orientation for e.g. tablets */
  KEYBOARD_KEY_DIRECTION = KEY_ROTATE_DISPLAY
  KEYBOARD_KEY_CYCLEWINDOWS	154
  KEYBOARD_KEY_MAIL = 155
  KEYBOARD_KEY_BOOKMARKS = 156	/* AC Bookmarks */
  KEYBOARD_KEY_COMPUTER = 157
  KEYBOARD_KEY_BACK = 158	/* AC Back */
  KEYBOARD_KEY_FORWARD = 159	/* AC Forward */
  KEYBOARD_KEY_CLOSECD = 160
  KEYBOARD_KEY_EJECTCD = 161
  KEYBOARD_KEY_EJECTCLOSECD	162
  KEYBOARD_KEY_NEXTSONG = 163
  KEYBOARD_KEY_PLAYPAUSE = 164
  KEYBOARD_KEY_PREVIOUSSONG	165
  KEYBOARD_KEY_STOPCD = 166
  KEYBOARD_KEY_RECORD = 167
  KEYBOARD_KEY_REWIND = 168
  KEYBOARD_KEY_PHONE = 169	/* Media Select Telephone */
  KEYBOARD_KEY_ISO = 	170
  KEYBOARD_KEY_CONFIG = 171	/* AL Consumer Control Configuration */
  KEYBOARD_KEY_HOMEPAGE = 172	/* AC Home */
  KEYBOARD_KEY_REFRESH = 173	/* AC Refresh */
  KEYBOARD_KEY_EXIT = 174	/* AC Exit */
  KEYBOARD_KEY_MOVE = 175
  KEYBOARD_KEY_EDIT = 176
  KEYBOARD_KEY_SCROLLUP = 177
  KEYBOARD_KEY_SCROLLDOWN = 178
  KEYBOARD_KEY_KPLEFTPAREN = 179
  KEYBOARD_KEY_KPRIGHTPAREN	180
  KEYBOARD_KEY_NEW = 	181	/* AC New */
  KEYBOARD_KEY_REDO = 182	/* AC Redo/Repeat */

  KEYBOARD_KEY_F13 = 	183
  KEYBOARD_KEY_F14 = 	184
  KEYBOARD_KEY_F15 = 	185
  KEYBOARD_KEY_F16 = 	186
  KEYBOARD_KEY_F17 = 	187
  KEYBOARD_KEY_F18 = 	188
  KEYBOARD_KEY_F19 = 	189
  KEYBOARD_KEY_F20 = 	190
  KEYBOARD_KEY_F21 = 	191
  KEYBOARD_KEY_F22 = 	192
  KEYBOARD_KEY_F23 = 	193
  KEYBOARD_KEY_F24 = 	194

  KEYBOARD_KEY_PLAYCD = 200
  KEYBOARD_KEY_PAUSECD = 201
  KEYBOARD_KEY_PROG3 = 202
  KEYBOARD_KEY_PROG4 = 203
  KEYBOARD_KEY_ALL_APPLICATIONS	204	/* AC Desktop Show All Applications */
  KEYBOARD_KEY_DASHBOARD = KEY_ALL_APPLICATIONS
  KEYBOARD_KEY_SUSPEND = 205
  KEYBOARD_KEY_CLOSE = 206	/* AC Close */
  KEYBOARD_KEY_PLAY = 207
  KEYBOARD_KEY_FASTFORWARD = 208
  KEYBOARD_KEY_BASSBOOST = 209
  KEYBOARD_KEY_PRINT = 210	/* AC Print */
  KEYBOARD_KEY_HP = 	211
  KEYBOARD_KEY_CAMERA = 212
  KEYBOARD_KEY_SOUND = 213
  KEYBOARD_KEY_QUESTION = 214
  KEYBOARD_KEY_EMAIL = 215
  KEYBOARD_KEY_CHAT = 216
  KEYBOARD_KEY_SEARCH = 217
  KEYBOARD_KEY_CONNECT = 218
  KEYBOARD_KEY_FINANCE = 219	/* AL Checkbook/Finance */
  KEYBOARD_KEY_SPORT = 220
  KEYBOARD_KEY_SHOP = 221
  KEYBOARD_KEY_ALTERASE = 222
  KEYBOARD_KEY_CANCEL = 223	/* AC Cancel */
  KEYBOARD_KEY_BRIGHTNESSDOWN	224
  KEYBOARD_KEY_BRIGHTNESSUP	225
  KEYBOARD_KEY_MEDIA = 226

  KEYBOARD_KEY_SWITCHVIDEOMODE	227	/* Cycle between available video
 =  = 	   outputs (Monitor/LCD/TV-out/etc) */
  KEYBOARD_KEY_KBDILLUMTOGGLE	228
  KEYBOARD_KEY_KBDILLUMDOWN	229
  KEYBOARD_KEY_KBDILLUMUP = 230

  KEYBOARD_KEY_SEND = 231	/* AC Send */
  KEYBOARD_KEY_REPLY = 232	/* AC Reply */
  KEYBOARD_KEY_FORWARDMAIL = 233	/* AC Forward Msg */
  KEYBOARD_KEY_SAVE = 234	/* AC Save */
  KEYBOARD_KEY_DOCUMENTS = 235

  KEYBOARD_KEY_BATTERY = 236

  KEYBOARD_KEY_BLUETOOTH = 237
  KEYBOARD_KEY_WLAN = 238
  KEYBOARD_KEY_UWB = 	239

  KEYBOARD_KEY_UNKNOWN = 240

  KEYBOARD_KEY_VIDEO_NEXT = 241	/* drive next video source */
  KEYBOARD_KEY_VIDEO_PREV = 242	/* drive previous video source */
  KEYBOARD_KEY_BRIGHTNESS_CYCLE	243	/* brightness up, after max is min */
  KEYBOARD_KEY_BRIGHTNESS_AUTO	244	/* Set Auto Brightness: manual
 =  = 	  brightness control is off,
 =  = 	  rely on ambient */
  KEYBOARD_KEY_BRIGHTNESS_ZERO	KEY_BRIGHTNESS_AUTO
  KEYBOARD_KEY_DISPLAY_OFF = 245	/* display device to off state */

  KEYBOARD_KEY_WWAN = 246	/* Wireless WAN (LTE, UMTS, GSM, etc.) */
  KEYBOARD_KEY_WIMAX = KEY_WWAN
  KEYBOARD_KEY_RFKILL = 247	/* Key that controls all radios */

  KEYBOARD_KEY_MICMUTE = 248	/* Mute / unmute the microphone */

/* Code 255 is reserved for special needs of AT keyboard driver */

  BTN_MISC = 0x100
  BTN_0 = 	0x100
  BTN_1 = 	0x101
  BTN_2 = 	0x102
  BTN_3 = 	0x103
  BTN_4 = 	0x104
  BTN_5 = 	0x105
  BTN_6 = 	0x106
  BTN_7 = 	0x107
  BTN_8 = 	0x108
  BTN_9 = 	0x109

  MOUSE_BUTTON_LEFT = 0x110,
  MOUSE_BUTTON_RIGHT = 0x111,
  MOUSE_BUTTON_MIDDLE = 0x112,
  MOUSE_BUTTON_SIDE = 0x113,
  MOUSE_BUTTON_EXTRA = 0x114,

  /*
  BTN_MOUSE = 0x110
  BTN_LEFT = 0x110
  BTN_RIGHT = 0x111
  BTN_MIDDLE = 0x112
  BTN_SIDE = 0x113
  BTN_EXTRA = 0x114
  BTN_FORWARD = 0x115
  BTN_BACK = 0x116
  BTN_TASK = 0x117
  */

  BTN_JOYSTICK = 0x120
  BTN_TRIGGER = 0x120
  BTN_THUMB = 0x121
  BTN_THUMB2 = 0x122
  BTN_TOP = 	0x123
  BTN_TOP2 = 0x124
  BTN_PINKIE = 0x125
  /// Base button, usually on the bottom right, Steam Quick Access Button (...)
  GAMEPAD_BUTTON_QUICK = 0x126,
  BTN_BASE = 0x126
  BTN_BASE2 = 0x127
  BTN_BASE3 = 0x128
  BTN_BASE4 = 0x129
  BTN_BASE5 = 0x12a
  BTN_BASE6 = 0x12b
  BTN_DEAD = 0x12f

  /// South action, Sony Cross x, Xbox A, Nintendo B
  GAMEPAD_BUTTON_SOUTH = 0x130,
  /// East action, Sony Circle ◯, Xbox B, Nintendo A
  GAMEPAD_BUTTON_EAST = 0x131,
  /// North action, Sony Square □, Xbox X, Nintendo Y
  GAMEPAD_BUTTON_NORTH = 0x133,
  /// West action, Sony Triangle ∆, XBox Y, Nintendo X
  GAMEPAD_BUTTON_WEST = 0x134,
  /// Select, Sony Select, Xbox Back, Nintendo -, Steam Deck ⧉
  GAMEPAD_BUTTON_SELECT = 0x13a,
  /// Start, Xbox Menu, Nintendo +, Steam Deck Hamburger Menu (☰)
  GAMEPAD_BUTTON_START = 0x13b,
  /// Guide button, Sony PS, Xbox Home, Steam Button
  GAMEPAD_BUTTON_GUIDE = 0x13c,

  BTN_SOUTH = 0x130
  BTN_A = 	BTN_SOUTH
  BTN_EAST = 0x131
  BTN_B = 	BTN_EAST
  BTN_C = 	0x132
  BTN_NORTH = 0x133
  BTN_X = 	BTN_NORTH
  BTN_WEST = 0x134
  BTN_Y = 	BTN_WEST
  BTN_Z = 	0x135
  BTN_TL = 	0x136
  BTN_TR = 	0x137
  BTN_TL2 = 	0x138
  BTN_TR2 = 	0x139
  BTN_SELECT = 0x13a
  BTN_START = 0x13b
  BTN_MODE = 0x13c
  BTN_THUMBL = 0x13d
  BTN_THUMBR = 0x13e

  BTN_DIGI = 0x140
  BTN_TOOL_PEN = 0x140
  BTN_TOOL_RUBBER = 0x141
  BTN_TOOL_BRUSH = 0x142
  BTN_TOOL_PENCIL = 0x143
  BTN_TOOL_AIRBRUSH	0x144
  BTN_TOOL_FINGER = 0x145
  BTN_TOOL_MOUSE = 0x146
  BTN_TOOL_LENS = 0x147
  BTN_TOOL_QUINTTAP	0x148	/* Five fingers on trackpad */
  BTN_STYLUS3 = 0x149
  BTN_TOUCH = 0x14a
  BTN_STYLUS = 0x14b
  BTN_STYLUS2 = 0x14c
  BTN_TOOL_DOUBLETAP	0x14d
  BTN_TOOL_TRIPLETAP	0x14e
  BTN_TOOL_QUADTAP	0x14f	/* Four fingers on trackpad */

  BTN_WHEEL = 0x150
  BTN_GEAR_DOWN = 0x150
  BTN_GEAR_UP = 0x151

  KEYBOARD_KEY_OK = 	0x160
  KEYBOARD_KEY_SELECT = 0x161
  KEYBOARD_KEY_GOTO = 0x162
  KEYBOARD_KEY_CLEAR = 0x163
  KEYBOARD_KEY_POWER2 = 0x164
  KEYBOARD_KEY_OPTION = 0x165
  KEYBOARD_KEY_INFO = 0x166	/* AL OEM Features/Tips/Tutorial */
  KEYBOARD_KEY_TIME = 0x167
  KEYBOARD_KEY_VENDOR = 0x168
  KEYBOARD_KEY_ARCHIVE = 0x169
  KEYBOARD_KEY_PROGRAM = 0x16a	/* Media Select Program Guide */
  KEYBOARD_KEY_CHANNEL = 0x16b
  KEYBOARD_KEY_FAVORITES = 0x16c
  KEYBOARD_KEY_EPG = 	0x16d
  KEYBOARD_KEY_PVR = 	0x16e	/* Media Select Home */
  KEYBOARD_KEY_MHP = 	0x16f
  KEYBOARD_KEY_LANGUAGE = 0x170
  KEYBOARD_KEY_TITLE = 0x171
  KEYBOARD_KEY_SUBTITLE = 0x172
  KEYBOARD_KEY_ANGLE = 0x173
  KEYBOARD_KEY_FULL_SCREEN = 0x174	/* AC View Toggle */
  KEYBOARD_KEY_ZOOM = KEY_FULL_SCREEN
  KEYBOARD_KEY_MODE = 0x175
  KEYBOARD_KEY_KEYBOARD = 0x176
  KEYBOARD_KEY_ASPECT_RATIO	0x177	/* HUTRR37: Aspect */
  KEYBOARD_KEY_SCREEN = KEY_ASPECT_RATIO
  KEYBOARD_KEY_PC = 	0x178	/* Media Select Computer */
  KEYBOARD_KEY_TV = 	0x179	/* Media Select TV */
  KEYBOARD_KEY_TV2 = 	0x17a	/* Media Select Cable */
  KEYBOARD_KEY_VCR = 	0x17b	/* Media Select VCR */
  KEYBOARD_KEY_VCR2 = 0x17c	/* VCR Plus */
  KEYBOARD_KEY_SAT = 	0x17d	/* Media Select Satellite */
  KEYBOARD_KEY_SAT2 = 0x17e
  KEYBOARD_KEY_CD = 	0x17f	/* Media Select CD */
  KEYBOARD_KEY_TAPE = 0x180	/* Media Select Tape */
  KEYBOARD_KEY_RADIO = 0x181
  KEYBOARD_KEY_TUNER = 0x182	/* Media Select Tuner */
  KEYBOARD_KEY_PLAYER = 0x183
  KEYBOARD_KEY_TEXT = 0x184
  KEYBOARD_KEY_DVD = 	0x185	/* Media Select DVD */
  KEYBOARD_KEY_AUX = 	0x186
  KEYBOARD_KEY_MP3 = 	0x187
  KEYBOARD_KEY_AUDIO = 0x188	/* AL Audio Browser */
  KEYBOARD_KEY_VIDEO = 0x189	/* AL Movie Browser */
  KEYBOARD_KEY_DIRECTORY = 0x18a
  KEYBOARD_KEY_LIST = 0x18b
  KEYBOARD_KEY_MEMO = 0x18c	/* Media Select Messages */
  KEYBOARD_KEY_CALENDAR = 0x18d
  KEYBOARD_KEY_RED = 	0x18e
  KEYBOARD_KEY_GREEN = 0x18f
  KEYBOARD_KEY_YELLOW = 0x190
  KEYBOARD_KEY_BLUE = 0x191
  KEYBOARD_KEY_CHANNELUP = 0x192	/* Channel Increment */
  KEYBOARD_KEY_CHANNELDOWN = 0x193	/* Channel Decrement */
  KEYBOARD_KEY_FIRST = 0x194
  KEYBOARD_KEY_LAST = 0x195	/* Recall Last */
  KEYBOARD_KEY_AB = 	0x196
  KEYBOARD_KEY_NEXT = 0x197
  KEYBOARD_KEY_RESTART = 0x198
  KEYBOARD_KEY_SLOW = 0x199
  KEYBOARD_KEY_SHUFFLE = 0x19a
  KEYBOARD_KEY_BREAK = 0x19b
  KEYBOARD_KEY_PREVIOUS = 0x19c
  KEYBOARD_KEY_DIGITS = 0x19d
  KEYBOARD_KEY_TEEN = 0x19e
  KEYBOARD_KEY_TWEN = 0x19f
  KEYBOARD_KEY_VIDEOPHONE = 0x1a0	/* Media Select Video Phone */
  KEYBOARD_KEY_GAMES = 0x1a1	/* Media Select Games */
  KEYBOARD_KEY_ZOOMIN = 0x1a2	/* AC Zoom In */
  KEYBOARD_KEY_ZOOMOUT = 0x1a3	/* AC Zoom Out */
  KEYBOARD_KEY_ZOOMRESET = 0x1a4	/* AC Zoom */
  KEYBOARD_KEY_WORDPROCESSOR	0x1a5	/* AL Word Processor */
  KEYBOARD_KEY_EDITOR = 0x1a6	/* AL Text Editor */
  KEYBOARD_KEY_SPREADSHEET = 0x1a7	/* AL Spreadsheet */
  KEYBOARD_KEY_GRAPHICSEDITOR	0x1a8	/* AL Graphics Editor */
  KEYBOARD_KEY_PRESENTATION	0x1a9	/* AL Presentation App */
  KEYBOARD_KEY_DATABASE = 0x1aa	/* AL Database App */
  KEYBOARD_KEY_NEWS = 0x1ab	/* AL Newsreader */
  KEYBOARD_KEY_VOICEMAIL = 0x1ac	/* AL Voicemail */
  KEYBOARD_KEY_ADDRESSBOOK = 0x1ad	/* AL Contacts/Address Book */
  KEYBOARD_KEY_MESSENGER = 0x1ae	/* AL Instant Messaging */
  KEYBOARD_KEY_DISPLAYTOGGLE	0x1af	/* Turn display (LCD) on and off */
  KEYBOARD_KEY_BRIGHTNESS_TOGGLE	KEY_DISPLAYTOGGLE
  KEYBOARD_KEY_SPELLCHECK = 0x1b0   /* AL Spell Check */
  KEYBOARD_KEY_LOGOFF = 0x1b1   /* AL Logoff */

  KEYBOARD_KEY_DOLLAR = 0x1b2
  KEYBOARD_KEY_EURO = 0x1b3

  KEYBOARD_KEY_FRAMEBACK = 0x1b4	/* Consumer - transport controls */
  KEYBOARD_KEY_FRAMEFORWARD	0x1b5
  KEYBOARD_KEY_CONTEXT_MENU	0x1b6	/* GenDesc - system context menu */
  KEYBOARD_KEY_MEDIA_REPEAT	0x1b7	/* Consumer - transport control */
  KEYBOARD_KEY_10CHANNELSUP	0x1b8	/* 10 channels up (10+) */
  KEYBOARD_KEY_10CHANNELSDOWN	0x1b9	/* 10 channels down (10-) */
  KEYBOARD_KEY_IMAGES = 0x1ba	/* AL Image Browser */
  KEYBOARD_KEY_NOTIFICATION_CENTER	0x1bc	/* Show/hide the notification center */
  KEYBOARD_KEY_PICKUP_PHONE	0x1bd	/* Answer incoming call */
  KEYBOARD_KEY_HANGUP_PHONE	0x1be	/* Decline incoming call */

  KEYBOARD_KEY_DEL_EOL = 0x1c0
  KEYBOARD_KEY_DEL_EOS = 0x1c1
  KEYBOARD_KEY_INS_LINE = 0x1c2
  KEYBOARD_KEY_DEL_LINE = 0x1c3

  KEYBOARD_KEY_FN = 	0x1d0
  KEYBOARD_KEY_FN_ESC = 0x1d1
  KEYBOARD_KEY_FN_F1 = 0x1d2
  KEYBOARD_KEY_FN_F2 = 0x1d3
  KEYBOARD_KEY_FN_F3 = 0x1d4
  KEYBOARD_KEY_FN_F4 = 0x1d5
  KEYBOARD_KEY_FN_F5 = 0x1d6
  KEYBOARD_KEY_FN_F6 = 0x1d7
  KEYBOARD_KEY_FN_F7 = 0x1d8
  KEYBOARD_KEY_FN_F8 = 0x1d9
  KEYBOARD_KEY_FN_F9 = 0x1da
  KEYBOARD_KEY_FN_F10 = 0x1db
  KEYBOARD_KEY_FN_F11 = 0x1dc
  KEYBOARD_KEY_FN_F12 = 0x1dd
  KEYBOARD_KEY_FN_1 = 0x1de
  KEYBOARD_KEY_FN_2 = 0x1df
  KEYBOARD_KEY_FN_D = 0x1e0
  KEYBOARD_KEY_FN_E = 0x1e1
  KEYBOARD_KEY_FN_F = 0x1e2
  KEYBOARD_KEY_FN_S = 0x1e3
  KEYBOARD_KEY_FN_B = 0x1e4
  KEYBOARD_KEY_FN_RIGHT_SHIFT	0x1e5

  KEYBOARD_KEY_BRL_DOT1 = 0x1f1
  KEYBOARD_KEY_BRL_DOT2 = 0x1f2
  KEYBOARD_KEY_BRL_DOT3 = 0x1f3
  KEYBOARD_KEY_BRL_DOT4 = 0x1f4
  KEYBOARD_KEY_BRL_DOT5 = 0x1f5
  KEYBOARD_KEY_BRL_DOT6 = 0x1f6
  KEYBOARD_KEY_BRL_DOT7 = 0x1f7
  KEYBOARD_KEY_BRL_DOT8 = 0x1f8
  KEYBOARD_KEY_BRL_DOT9 = 0x1f9
  KEYBOARD_KEY_BRL_DOT10 = 0x1fa

  KEYBOARD_KEY_NUMERIC_0 = 0x200	/* used by phones, remote controls, */
  KEYBOARD_KEY_NUMERIC_1 = 0x201	/* and other keypads */
  KEYBOARD_KEY_NUMERIC_2 = 0x202
  KEYBOARD_KEY_NUMERIC_3 = 0x203
  KEYBOARD_KEY_NUMERIC_4 = 0x204
  KEYBOARD_KEY_NUMERIC_5 = 0x205
  KEYBOARD_KEY_NUMERIC_6 = 0x206
  KEYBOARD_KEY_NUMERIC_7 = 0x207
  KEYBOARD_KEY_NUMERIC_8 = 0x208
  KEYBOARD_KEY_NUMERIC_9 = 0x209
  KEYBOARD_KEY_NUMERIC_STAR	0x20a
  KEYBOARD_KEY_NUMERIC_POUND	0x20b
  KEYBOARD_KEY_NUMERIC_A = 0x20c	/* Phone key A - HUT Telephony 0xb9 */
  KEYBOARD_KEY_NUMERIC_B = 0x20d
  KEYBOARD_KEY_NUMERIC_C = 0x20e
  KEYBOARD_KEY_NUMERIC_D = 0x20f

  KEYBOARD_KEY_CAMERA_FOCUS	0x210
  KEYBOARD_KEY_WPS_BUTTON = 0x211	/* WiFi Protected Setup key */

  KEYBOARD_KEY_TOUCHPAD_TOGGLE	0x212	/* Request switch touchpad on or off */
  KEYBOARD_KEY_TOUCHPAD_ON = 0x213
  KEYBOARD_KEY_TOUCHPAD_OFF	0x214

  KEYBOARD_KEY_CAMERA_ZOOMIN	0x215
  KEYBOARD_KEY_CAMERA_ZOOMOUT	0x216
  KEYBOARD_KEY_CAMERA_UP = 0x217
  KEYBOARD_KEY_CAMERA_DOWN = 0x218
  KEYBOARD_KEY_CAMERA_LEFT = 0x219
  KEYBOARD_KEY_CAMERA_RIGHT	0x21a

  KEYBOARD_KEY_ATTENDANT_ON	0x21b
  KEYBOARD_KEY_ATTENDANT_OFF	0x21c
  KEYBOARD_KEY_ATTENDANT_TOGGLE	0x21d	/* Attendant call on or off */
  KEYBOARD_KEY_LIGHTS_TOGGLE	0x21e	/* Reading light on or off */

  BTN_DPAD_UP = 0x220
  BTN_DPAD_DOWN = 0x221
  BTN_DPAD_LEFT = 0x222
  BTN_DPAD_RIGHT = 0x223

  KEYBOARD_KEY_ALS_TOGGLE = 0x230	/* Ambient light sensor */
  KEYBOARD_KEY_ROTATE_LOCK_TOGGLE	0x231	/* Display rotation lock */
  KEYBOARD_KEY_REFRESH_RATE_TOGGLE	0x232	/* Display refresh rate toggle */

  KEYBOARD_KEY_BUTTONCONFIG = 0x240	/* AL Button Configuration */
  KEYBOARD_KEY_TASKMANAGER = 0x241	/* AL Task/Project Manager */
  KEYBOARD_KEY_JOURNAL = 0x242	/* AL Log/Journal/Timecard */
  KEYBOARD_KEY_CONTROLPANEL = 0x243	/* AL Control Panel */
  KEYBOARD_KEY_APPSELECT = 0x244	/* AL Select Task/Application */
  KEYBOARD_KEY_SCREENSAVER = 0x245	/* AL Screen Saver */
  KEYBOARD_KEY_VOICECOMMAND = 0x246	/* Listening Voice Command */
  KEYBOARD_KEY_ASSISTANT = 0x247	/* AL Context-aware desktop assistant */
  KEYBOARD_KEY_KBD_LAYOUT_NEXT	0x248	/* AC Next Keyboard Layout Select */
  KEYBOARD_KEY_EMOJI_PICKER	0x249	/* Show/hide emoji picker (HUTRR101) */
  KEYBOARD_KEY_DICTATE = 0x24a	/* Start or Stop Voice Dictation Session (HUTRR99) */
  KEYBOARD_KEY_CAMERA_ACCESS_ENABLE	0x24b	/* Enables programmatic access to camera devices. (HUTRR72) */
  KEYBOARD_KEY_CAMERA_ACCESS_DISABLE	0x24c	/* Disables programmatic access to camera devices. (HUTRR72) */
  KEYBOARD_KEY_CAMERA_ACCESS_TOGGLE	0x24d	/* Toggles the current state of the camera access control. (HUTRR72) */
  KEYBOARD_KEY_ACCESSIBILITY = 0x24e	/* Toggles the system bound accessibility UI/command (HUTRR116) */
  KEYBOARD_KEY_DO_NOT_DISTURB = 0x24f	/* Toggles the system-wide "Do Not Disturb" control (HUTRR94)*/

  KEYBOARD_KEY_BRIGHTNESS_MIN = 0x250	/* Set Brightness to Minimum */
  KEYBOARD_KEY_BRIGHTNESS_MAX = 0x251	/* Set Brightness to Maximum */

  KEYBOARD_KEY_KBDINPUTASSIST_PREV = 0x260
  KEYBOARD_KEY_KBDINPUTASSIST_NEXT = 0x261
  KEYBOARD_KEY_KBDINPUTASSIST_PREVGROUP = 0x262
  KEYBOARD_KEY_KBDINPUTASSIST_NEXTGROUP = 0x263
  KEYBOARD_KEY_KBDINPUTASSIST_ACCEPT = 0x264
  KEYBOARD_KEY_KBDINPUTASSIST_CANCEL = 0x265

/* Diagonal movement keys */
  KEYBOARD_KEY_RIGHT_UP = 	0x266
  KEYBOARD_KEY_RIGHT_DOWN = 	0x267
  KEYBOARD_KEY_LEFT_UP = 	0x268
  KEYBOARD_KEY_LEFT_DOWN = 	0x269

  KEYBOARD_KEY_ROOT_MENU = 	0x26a /* Show Device's Root Menu */
/* Show Top Menu of the Media (e.g. DVD) */
  KEYBOARD_KEY_MEDIA_TOP_MENU = 0x26b
  KEYBOARD_KEY_NUMERIC_11 = 	0x26c
  KEYBOARD_KEY_NUMERIC_12 = 	0x26d
/*
 * Toggle Audio Description: refers to an audio service that helps blind and
 * visually impaired consumers understand the action in a program. Note: in
 * some countries this is referred to as "Video Description".
 */
  KEYBOARD_KEY_AUDIO_DESC = 	0x26e
  KEYBOARD_KEY_3D_MODE = 	0x26f
  KEYBOARD_KEY_NEXT_FAVORITE = 0x270
  KEYBOARD_KEY_STOP_RECORD = 	0x271
  KEYBOARD_KEY_PAUSE_RECORD = 0x272
  KEYBOARD_KEY_VOD =  = 0x273 /* Video on Demand */
  KEYBOARD_KEY_UNMUTE = 	0x274
  KEYBOARD_KEY_FASTREVERSE = 	0x275
  KEYBOARD_KEY_SLOWREVERSE = 	0x276
/*
 * Control a data application associated with the currently viewed channel,
 * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.)
 */
  KEYBOARD_KEY_DATA = 	0x277
  KEYBOARD_KEY_ONSCREEN_KEYBOARD = 0x278
/* Electronic privacy screen control */
  KEYBOARD_KEY_PRIVACY_SCREEN_TOGGLE = 0x279

/* Select an area of screen to be copied */
  KEYBOARD_KEY_SELECTIVE_SCREENSHOT = 0x27a

/* Move the focus to the next or previous user controllable element within a UI container */
  KEYBOARD_KEY_NEXT_ELEMENT            =  0x27b
  KEYBOARD_KEY_PREVIOUS_ELEMENT        =  0x27c

/* Toggle Autopilot engagement */
  KEYBOARD_KEY_AUTOPILOT_ENGAGE_TOGGLE =  0x27d

/* Shortcut Keys */
  KEYBOARD_KEY_MARK_WAYPOINT           =  0x27e
  KEYBOARD_KEY_SOS                     =  0x27f
  KEYBOARD_KEY_NAV_CHART               =  0x280
  KEYBOARD_KEY_FISHING_CHART           =  0x281
  KEYBOARD_KEY_SINGLE_RANGE_RADAR      =  0x282
  KEYBOARD_KEY_DUAL_RANGE_RADAR        =  0x283
  KEYBOARD_KEY_RADAR_OVERLAY           =  0x284
  KEYBOARD_KEY_TRADITIONAL_SONAR       =  0x285
  KEYBOARD_KEY_CLEARVU_SONAR           =  0x286
  KEYBOARD_KEY_SIDEVU_SONAR            =  0x287
  KEYBOARD_KEY_NAV_INFO                =  0x288
  KEYBOARD_KEY_BRIGHTNESS_MENU         =  0x289

/*
 * Some keyboards have keys which do not have a defined meaning, these keys
 * are intended to be programmed / bound to macros by the user. For most
 * keyboards with these macro-keys the key-sequence to inject, or action to
 * take, is all handled by software on the host side. So from the kernel's
 * point of view these are just normal keys.
 *
 * The KEY_MACRO# codes below are intended for such keys, which may be labeled
 * e.g. G1-G18, or S1 - S30. The KEY_MACRO# codes MUST NOT be used for keys
 * where the marking on the key does indicate a defined meaning / purpose.
 *
 * The KEY_MACRO# codes MUST also NOT be used as fallback for when no existing
 * KEY_FOO define matches the marking / purpose. In this case a new KEY_FOO
 * define MUST be added.
 */
  KEYBOARD_KEY_MACRO1 = 	0x290
  KEYBOARD_KEY_MACRO2 = 	0x291
  KEYBOARD_KEY_MACRO3 = 	0x292
  KEYBOARD_KEY_MACRO4 = 	0x293
  KEYBOARD_KEY_MACRO5 = 	0x294
  KEYBOARD_KEY_MACRO6 = 	0x295
  KEYBOARD_KEY_MACRO7 = 	0x296
  KEYBOARD_KEY_MACRO8 = 	0x297
  KEYBOARD_KEY_MACRO9 = 	0x298
  KEYBOARD_KEY_MACRO10 = 	0x299
  KEYBOARD_KEY_MACRO11 = 	0x29a
  KEYBOARD_KEY_MACRO12 = 	0x29b
  KEYBOARD_KEY_MACRO13 = 	0x29c
  KEYBOARD_KEY_MACRO14 = 	0x29d
  KEYBOARD_KEY_MACRO15 = 	0x29e
  KEYBOARD_KEY_MACRO16 = 	0x29f
  KEYBOARD_KEY_MACRO17 = 	0x2a0
  KEYBOARD_KEY_MACRO18 = 	0x2a1
  KEYBOARD_KEY_MACRO19 = 	0x2a2
  KEYBOARD_KEY_MACRO20 = 	0x2a3
  KEYBOARD_KEY_MACRO21 = 	0x2a4
  KEYBOARD_KEY_MACRO22 = 	0x2a5
  KEYBOARD_KEY_MACRO23 = 	0x2a6
  KEYBOARD_KEY_MACRO24 = 	0x2a7
  KEYBOARD_KEY_MACRO25 = 	0x2a8
  KEYBOARD_KEY_MACRO26 = 	0x2a9
  KEYBOARD_KEY_MACRO27 = 	0x2aa
  KEYBOARD_KEY_MACRO28 = 	0x2ab
  KEYBOARD_KEY_MACRO29 = 	0x2ac
  KEYBOARD_KEY_MACRO30 = 	0x2ad

/*
 * Some keyboards with the macro-keys described above have some extra keys
 * for controlling the host-side software responsible for the macro handling:
 * -A macro recording start/stop key. Note that not all keyboards which emit
 *  KEY_MACRO_RECORD_START will also emit KEY_MACRO_RECORD_STOP if
 *  KEY_MACRO_RECORD_STOP is not advertised, then KEY_MACRO_RECORD_START
 *  should be interpreted as a recording start/stop toggle;
 * -Keys for switching between different macro (pre)sets, either a key for
 *  cycling through the configured presets or keys to directly select a preset.
 */
  KEYBOARD_KEY_MACRO_RECORD_START = 0x2b0
  KEYBOARD_KEY_MACRO_RECORD_STOP = 0x2b1
  KEYBOARD_KEY_MACRO_PRESET_CYCLE = 0x2b2
  KEYBOARD_KEY_MACRO_PRESET1 = 0x2b3
  KEYBOARD_KEY_MACRO_PRESET2 = 0x2b4
  KEYBOARD_KEY_MACRO_PRESET3 = 0x2b5

/*
 * Some keyboards have a buildin LCD panel where the contents are controlled
 * by the host. Often these have a number of keys directly below the LCD
 * intended for controlling a menu shown on the LCD. These keys often don't
 * have any labeling so we just name them KEY_KBD_LCD_MENU#
 */
  KEYBOARD_KEY_KBD_LCD_MENU1 = 0x2b8
  KEYBOARD_KEY_KBD_LCD_MENU2 = 0x2b9
  KEYBOARD_KEY_KBD_LCD_MENU3 = 0x2ba
  KEYBOARD_KEY_KBD_LCD_MENU4 = 0x2bb
  KEYBOARD_KEY_KBD_LCD_MENU5 = 0x2bc

  BTN_TRIGGER_HAPPY = 0x2c0
  BTN_TRIGGER_HAPPY1 = 0x2c0
  BTN_TRIGGER_HAPPY2 = 0x2c1
  BTN_TRIGGER_HAPPY3 = 0x2c2
  BTN_TRIGGER_HAPPY4 = 0x2c3
  BTN_TRIGGER_HAPPY5 = 0x2c4
  BTN_TRIGGER_HAPPY6 = 0x2c5
  BTN_TRIGGER_HAPPY7 = 0x2c6
  BTN_TRIGGER_HAPPY8 = 0x2c7
  BTN_TRIGGER_HAPPY9 = 0x2c8
  BTN_TRIGGER_HAPPY10 = 0x2c9
  BTN_TRIGGER_HAPPY11 = 0x2ca
  BTN_TRIGGER_HAPPY12 = 0x2cb
  BTN_TRIGGER_HAPPY13 = 0x2cc
  BTN_TRIGGER_HAPPY14 = 0x2cd
  BTN_TRIGGER_HAPPY15 = 0x2ce
  BTN_TRIGGER_HAPPY16 = 0x2cf
  BTN_TRIGGER_HAPPY17 = 0x2d0
  BTN_TRIGGER_HAPPY18 = 0x2d1
  BTN_TRIGGER_HAPPY19 = 0x2d2
  BTN_TRIGGER_HAPPY20 = 0x2d3
  BTN_TRIGGER_HAPPY21 = 0x2d4
  BTN_TRIGGER_HAPPY22 = 0x2d5
  BTN_TRIGGER_HAPPY23 = 0x2d6
  BTN_TRIGGER_HAPPY24 = 0x2d7
  BTN_TRIGGER_HAPPY25 = 0x2d8
  BTN_TRIGGER_HAPPY26 = 0x2d9
  BTN_TRIGGER_HAPPY27 = 0x2da
  BTN_TRIGGER_HAPPY28 = 0x2db
  BTN_TRIGGER_HAPPY29 = 0x2dc
  BTN_TRIGGER_HAPPY30 = 0x2dd
  BTN_TRIGGER_HAPPY31 = 0x2de
  BTN_TRIGGER_HAPPY32 = 0x2df
  BTN_TRIGGER_HAPPY33 = 0x2e0
  BTN_TRIGGER_HAPPY34 = 0x2e1
  BTN_TRIGGER_HAPPY35 = 0x2e2
  BTN_TRIGGER_HAPPY36 = 0x2e3
  BTN_TRIGGER_HAPPY37 = 0x2e4
  BTN_TRIGGER_HAPPY38 = 0x2e5
  BTN_TRIGGER_HAPPY39 = 0x2e6
  BTN_TRIGGER_HAPPY40 = 0x2e7

  // Higher bytes are for capabilities not defined input codes in the kernel
  GAMEPAD_GYRO_LEFT = 0x300,
}
enum InputVector2Capability {
  MOUSE_MOTION = 0x300, // map closely to REL_X kernel codes
  GAMEPAD_AXIS_LEFT_STICK  = 0x301,
  GAMEPAD_AXIS_RIGHT_STICK = 0x302,
#define REL_X			0x00
#define REL_Y			0x01
#define REL_Z			0x02
#define REL_RX			0x03
#define REL_RY			0x04
#define REL_RZ			0x05
#define REL_HWHEEL		0x06
#define REL_DIAL		0x07
#define REL_WHEEL		0x08
#define REL_MISC		0x09
}
enum InputVector3Capability {
  GAMEPAD_GYRO_LEFT = 0x1000,
  GAMEPAD_GYRO_MIDDLE = 0x1100,
  GAMEPAD_GYRO_RIGHT = 0x1200,

#define ABS_X			0x00
#define ABS_Y			0x01
#define ABS_Z			0x02
#define ABS_RX			0x03
#define ABS_RY			0x04
#define ABS_RZ			0x05
}