1 /// bindings to /usr/include/linux/input-event-codes.h 2 /// Copyright © 2017-2021 Rémi Thebault 3 module linux.input; 4 /* 5 * Input event codes 6 * 7 * Copyright (c) 1999-2002 Vojtech Pavlik 8 * Copyright (c) 2015 Hans de Goede <hdegoede@redhat.com> 9 * 10 * This program is free software; you can redistribute it and/or modify it 11 * under the terms of the GNU General Public License version 2 as published by 12 * the Free Software Foundation. 13 */ 14 15 /* 16 * Device properties and quirks 17 */ 18 19 enum INPUT_PROP_POINTER = 0x00; // needs a pointer 20 enum INPUT_PROP_DIRECT = 0x01; // direct input devices 21 enum INPUT_PROP_BUTTONPAD = 0x02; // has button(s) under pad 22 enum INPUT_PROP_SEMI_MT = 0x03; // touch rectangle only 23 enum INPUT_PROP_TOPBUTTONPAD = 0x04; // softbuttons at top of pad 24 enum INPUT_PROP_POINTING_STICK = 0x05; // is a pointing stick 25 enum INPUT_PROP_ACCELEROMETER = 0x06; // has accelerometer 26 27 enum INPUT_PROP_MAX = 0x1f; 28 enum INPUT_PROP_CNT = INPUT_PROP_MAX+1; 29 30 /* 31 * Event types 32 */ 33 34 enum EV_SYN = 0x00; 35 enum EV_KEY = 0x01; 36 enum EV_REL = 0x02; 37 enum EV_ABS = 0x03; 38 enum EV_MSC = 0x04; 39 enum EV_SW = 0x05; 40 enum EV_LED = 0x11; 41 enum EV_SND = 0x12; 42 enum EV_REP = 0x14; 43 enum EV_FF = 0x15; 44 enum EV_PWR = 0x16; 45 enum EV_FF_STATUS = 0x17; 46 enum EV_MAX = 0x1f; 47 enum EV_CNT = EV_MAX+1; 48 49 /* 50 * Synchronization events. 51 */ 52 53 enum SYN_REPORT = 0; 54 enum SYN_CONFIG = 1; 55 enum SYN_MT_REPORT = 2; 56 enum SYN_DROPPED = 3; 57 enum SYN_MAX = 0xf; 58 enum SYN_CNT = SYN_MAX+1; 59 60 /* 61 * Keys and buttons 62 * 63 * Most of the keys/buttons are modeled after USB HUT 1.12 64 * (see http://www.usb.org/developers/hidpage). 65 * Abbreviations in the comments: 66 * AC - Application Control 67 * AL - Application Launch Button 68 * SC - System Control 69 */ 70 71 enum KEY_RESERVED = 0; 72 enum KEY_ESC = 1; 73 enum KEY_1 = 2; 74 enum KEY_2 = 3; 75 enum KEY_3 = 4; 76 enum KEY_4 = 5; 77 enum KEY_5 = 6; 78 enum KEY_6 = 7; 79 enum KEY_7 = 8; 80 enum KEY_8 = 9; 81 enum KEY_9 = 10; 82 enum KEY_0 = 11; 83 enum KEY_MINUS = 12; 84 enum KEY_EQUAL = 13; 85 enum KEY_BACKSPACE = 14; 86 enum KEY_TAB = 15; 87 enum KEY_Q = 16; 88 enum KEY_W = 17; 89 enum KEY_E = 18; 90 enum KEY_R = 19; 91 enum KEY_T = 20; 92 enum KEY_Y = 21; 93 enum KEY_U = 22; 94 enum KEY_I = 23; 95 enum KEY_O = 24; 96 enum KEY_P = 25; 97 enum KEY_LEFTBRACE = 26; 98 enum KEY_RIGHTBRACE = 27; 99 enum KEY_ENTER = 28; 100 enum KEY_LEFTCTRL = 29; 101 enum KEY_A = 30; 102 enum KEY_S = 31; 103 enum KEY_D = 32; 104 enum KEY_F = 33; 105 enum KEY_G = 34; 106 enum KEY_H = 35; 107 enum KEY_J = 36; 108 enum KEY_K = 37; 109 enum KEY_L = 38; 110 enum KEY_SEMICOLON = 39; 111 enum KEY_APOSTROPHE = 40; 112 enum KEY_GRAVE = 41; 113 enum KEY_LEFTSHIFT = 42; 114 enum KEY_BACKSLASH = 43; 115 enum KEY_Z = 44; 116 enum KEY_X = 45; 117 enum KEY_C = 46; 118 enum KEY_V = 47; 119 enum KEY_B = 48; 120 enum KEY_N = 49; 121 enum KEY_M = 50; 122 enum KEY_COMMA = 51; 123 enum KEY_DOT = 52; 124 enum KEY_SLASH = 53; 125 enum KEY_RIGHTSHIFT = 54; 126 enum KEY_KPASTERISK = 55; 127 enum KEY_LEFTALT = 56; 128 enum KEY_SPACE = 57; 129 enum KEY_CAPSLOCK = 58; 130 enum KEY_F1 = 59; 131 enum KEY_F2 = 60; 132 enum KEY_F3 = 61; 133 enum KEY_F4 = 62; 134 enum KEY_F5 = 63; 135 enum KEY_F6 = 64; 136 enum KEY_F7 = 65; 137 enum KEY_F8 = 66; 138 enum KEY_F9 = 67; 139 enum KEY_F10 = 68; 140 enum KEY_NUMLOCK = 69; 141 enum KEY_SCROLLLOCK = 70; 142 enum KEY_KP7 = 71; 143 enum KEY_KP8 = 72; 144 enum KEY_KP9 = 73; 145 enum KEY_KPMINUS = 74; 146 enum KEY_KP4 = 75; 147 enum KEY_KP5 = 76; 148 enum KEY_KP6 = 77; 149 enum KEY_KPPLUS = 78; 150 enum KEY_KP1 = 79; 151 enum KEY_KP2 = 80; 152 enum KEY_KP3 = 81; 153 enum KEY_KP0 = 82; 154 enum KEY_KPDOT = 83; 155 156 enum KEY_ZENKAKUHANKAKU = 85; 157 enum KEY_102ND = 86; 158 enum KEY_F11 = 87; 159 enum KEY_F12 = 88; 160 enum KEY_RO = 89; 161 enum KEY_KATAKANA = 90; 162 enum KEY_HIRAGANA = 91; 163 enum KEY_HENKAN = 92; 164 enum KEY_KATAKANAHIRAGANA = 93; 165 enum KEY_MUHENKAN = 94; 166 enum KEY_KPJPCOMMA = 95; 167 enum KEY_KPENTER = 96; 168 enum KEY_RIGHTCTRL = 97; 169 enum KEY_KPSLASH = 98; 170 enum KEY_SYSRQ = 99; 171 enum KEY_RIGHTALT = 100; 172 enum KEY_LINEFEED = 101; 173 enum KEY_HOME = 102; 174 enum KEY_UP = 103; 175 enum KEY_PAGEUP = 104; 176 enum KEY_LEFT = 105; 177 enum KEY_RIGHT = 106; 178 enum KEY_END = 107; 179 enum KEY_DOWN = 108; 180 enum KEY_PAGEDOWN = 109; 181 enum KEY_INSERT = 110; 182 enum KEY_DELETE = 111; 183 enum KEY_MACRO = 112; 184 enum KEY_MUTE = 113; 185 enum KEY_VOLUMEDOWN = 114; 186 enum KEY_VOLUMEUP = 115; 187 enum KEY_POWER = 116; // SC System Power Down 188 enum KEY_KPEQUAL = 117; 189 enum KEY_KPPLUSMINUS = 118; 190 enum KEY_PAUSE = 119; 191 enum KEY_SCALE = 120; // AL Compiz Scale (Expose) 192 193 enum KEY_KPCOMMA = 121; 194 enum KEY_HANGEUL = 122; 195 enum KEY_HANGUEL = KEY_HANGEUL; 196 enum KEY_HANJA = 123; 197 enum KEY_YEN = 124; 198 enum KEY_LEFTMETA = 125; 199 enum KEY_RIGHTMETA = 126; 200 enum KEY_COMPOSE = 127; 201 202 enum KEY_STOP = 128; // AC Stop 203 enum KEY_AGAIN = 129; 204 enum KEY_PROPS = 130; // AC Properties 205 enum KEY_UNDO = 131; // AC Undo 206 enum KEY_FRONT = 132; 207 enum KEY_COPY = 133; // AC Copy 208 enum KEY_OPEN = 134; // AC Open 209 enum KEY_PASTE = 135; // AC Paste 210 enum KEY_FIND = 136; // AC Search 211 enum KEY_CUT = 137; // AC Cut 212 enum KEY_HELP = 138; // AL Integrated Help Center 213 enum KEY_MENU = 139; // Menu (show menu) 214 enum KEY_CALC = 140; // AL Calculator 215 enum KEY_SETUP = 141; 216 enum KEY_SLEEP = 142; // SC System Sleep 217 enum KEY_WAKEUP = 143; // System Wake Up 218 enum KEY_FILE = 144; // AL Local Machine Browser 219 enum KEY_SENDFILE = 145; 220 enum KEY_DELETEFILE = 146; 221 enum KEY_XFER = 147; 222 enum KEY_PROG1 = 148; 223 enum KEY_PROG2 = 149; 224 enum KEY_WWW = 150; // AL Internet Browser 225 enum KEY_MSDOS = 151; 226 enum KEY_COFFEE = 152; // AL Terminal Lock/Screensaver 227 enum KEY_SCREENLOCK = KEY_COFFEE; 228 enum KEY_ROTATE_DISPLAY = 153; // Display orientation for e.g. tablets 229 enum KEY_DIRECTION = KEY_ROTATE_DISPLAY; 230 enum KEY_CYCLEWINDOWS = 154; 231 enum KEY_MAIL = 155; 232 enum KEY_BOOKMARKS = 156; // AC Bookmarks 233 enum KEY_COMPUTER = 157; 234 enum KEY_BACK = 158; // AC Back 235 enum KEY_FORWARD = 159; // AC Forward 236 enum KEY_CLOSECD = 160; 237 enum KEY_EJECTCD = 161; 238 enum KEY_EJECTCLOSECD = 162; 239 enum KEY_NEXTSONG = 163; 240 enum KEY_PLAYPAUSE = 164; 241 enum KEY_PREVIOUSSONG = 165; 242 enum KEY_STOPCD = 166; 243 enum KEY_RECORD = 167; 244 enum KEY_REWIND = 168; 245 enum KEY_PHONE = 169; // Media Select Telephone 246 enum KEY_ISO = 170; 247 enum KEY_CONFIG = 171; // AL Consumer Control Configuration 248 enum KEY_HOMEPAGE = 172; // AC Home 249 enum KEY_REFRESH = 173; // AC Refresh 250 enum KEY_EXIT = 174; // AC Exit 251 enum KEY_MOVE = 175; 252 enum KEY_EDIT = 176; 253 enum KEY_SCROLLUP = 177; 254 enum KEY_SCROLLDOWN = 178; 255 enum KEY_KPLEFTPAREN = 179; 256 enum KEY_KPRIGHTPAREN = 180; 257 enum KEY_NEW = 181; // AC New 258 enum KEY_REDO = 182; // AC Redo/Repeat 259 260 enum KEY_F13 = 183; 261 enum KEY_F14 = 184; 262 enum KEY_F15 = 185; 263 enum KEY_F16 = 186; 264 enum KEY_F17 = 187; 265 enum KEY_F18 = 188; 266 enum KEY_F19 = 189; 267 enum KEY_F20 = 190; 268 enum KEY_F21 = 191; 269 enum KEY_F22 = 192; 270 enum KEY_F23 = 193; 271 enum KEY_F24 = 194; 272 273 enum KEY_PLAYCD = 200; 274 enum KEY_PAUSECD = 201; 275 enum KEY_PROG3 = 202; 276 enum KEY_PROG4 = 203; 277 enum KEY_DASHBOARD = 204; // AL Dashboard 278 enum KEY_SUSPEND = 205; 279 enum KEY_CLOSE = 206; // AC Close 280 enum KEY_PLAY = 207; 281 enum KEY_FASTFORWARD = 208; 282 enum KEY_BASSBOOST = 209; 283 enum KEY_PRINT = 210; // AC Print 284 enum KEY_HP = 211; 285 enum KEY_CAMERA = 212; 286 enum KEY_SOUND = 213; 287 enum KEY_QUESTION = 214; 288 enum KEY_EMAIL = 215; 289 enum KEY_CHAT = 216; 290 enum KEY_SEARCH = 217; 291 enum KEY_CONNECT = 218; 292 enum KEY_FINANCE = 219; // AL Checkbook/Finance 293 enum KEY_SPORT = 220; 294 enum KEY_SHOP = 221; 295 enum KEY_ALTERASE = 222; 296 enum KEY_CANCEL = 223; // AC Cancel 297 enum KEY_BRIGHTNESSDOWN = 224; 298 enum KEY_BRIGHTNESSUP = 225; 299 enum KEY_MEDIA = 226; 300 301 enum KEY_SWITCHVIDEOMODE = 227; /* Cycle between available video; 302 outputs (Monitor/LCD/TV-out/etc) */ 303 enum KEY_KBDILLUMTOGGLE = 228; 304 enum KEY_KBDILLUMDOWN = 229; 305 enum KEY_KBDILLUMUP = 230; 306 307 enum KEY_SEND = 231; // AC Send 308 enum KEY_REPLY = 232; // AC Reply 309 enum KEY_FORWARDMAIL = 233; // AC Forward Msg 310 enum KEY_SAVE = 234; // AC Save 311 enum KEY_DOCUMENTS = 235; 312 313 enum KEY_BATTERY = 236; 314 315 enum KEY_BLUETOOTH = 237; 316 enum KEY_WLAN = 238; 317 enum KEY_UWB = 239; 318 319 enum KEY_UNKNOWN = 240; 320 321 enum KEY_VIDEO_NEXT = 241; // drive next video source 322 enum KEY_VIDEO_PREV = 242; // drive previous video source 323 enum KEY_BRIGHTNESS_CYCLE = 243; // brightness up, after max is min 324 enum KEY_BRIGHTNESS_AUTO = 244; /+ Set Auto Brightness: manual; 325 brightness control is off, 326 rely on ambient +/ 327 enum KEY_BRIGHTNESS_ZERO = KEY_BRIGHTNESS_AUTO; 328 enum KEY_DISPLAY_OFF = 245; // display device to off state 329 330 enum KEY_WWAN = 246; // Wireless WAN (LTE, UMTS, GSM, etc.) 331 enum KEY_WIMAX = KEY_WWAN; 332 enum KEY_RFKILL = 247; // Key that controls all radios 333 334 enum KEY_MICMUTE = 248; // Mute / unmute the microphone 335 336 /* Code 255 is reserved for special needs of AT keyboard driver */ 337 338 enum BTN_MISC = 0x100; 339 enum BTN_0 = 0x100; 340 enum BTN_1 = 0x101; 341 enum BTN_2 = 0x102; 342 enum BTN_3 = 0x103; 343 enum BTN_4 = 0x104; 344 enum BTN_5 = 0x105; 345 enum BTN_6 = 0x106; 346 enum BTN_7 = 0x107; 347 enum BTN_8 = 0x108; 348 enum BTN_9 = 0x109; 349 350 enum BTN_MOUSE = 0x110; 351 enum BTN_LEFT = 0x110; 352 enum BTN_RIGHT = 0x111; 353 enum BTN_MIDDLE = 0x112; 354 enum BTN_SIDE = 0x113; 355 enum BTN_EXTRA = 0x114; 356 enum BTN_FORWARD = 0x115; 357 enum BTN_BACK = 0x116; 358 enum BTN_TASK = 0x117; 359 360 enum BTN_JOYSTICK = 0x120; 361 enum BTN_TRIGGER = 0x120; 362 enum BTN_THUMB = 0x121; 363 enum BTN_THUMB2 = 0x122; 364 enum BTN_TOP = 0x123; 365 enum BTN_TOP2 = 0x124; 366 enum BTN_PINKIE = 0x125; 367 enum BTN_BASE = 0x126; 368 enum BTN_BASE2 = 0x127; 369 enum BTN_BASE3 = 0x128; 370 enum BTN_BASE4 = 0x129; 371 enum BTN_BASE5 = 0x12a; 372 enum BTN_BASE6 = 0x12b; 373 enum BTN_DEAD = 0x12f; 374 375 enum BTN_GAMEPAD = 0x130; 376 enum BTN_SOUTH = 0x130; 377 enum BTN_A = BTN_SOUTH; 378 enum BTN_EAST = 0x131; 379 enum BTN_B = BTN_EAST; 380 enum BTN_C = 0x132; 381 enum BTN_NORTH = 0x133; 382 enum BTN_X = BTN_NORTH; 383 enum BTN_WEST = 0x134; 384 enum BTN_Y = BTN_WEST; 385 enum BTN_Z = 0x135; 386 enum BTN_TL = 0x136; 387 enum BTN_TR = 0x137; 388 enum BTN_TL2 = 0x138; 389 enum BTN_TR2 = 0x139; 390 enum BTN_SELECT = 0x13a; 391 enum BTN_START = 0x13b; 392 enum BTN_MODE = 0x13c; 393 enum BTN_THUMBL = 0x13d; 394 enum BTN_THUMBR = 0x13e; 395 396 enum BTN_DIGI = 0x140; 397 enum BTN_TOOL_PEN = 0x140; 398 enum BTN_TOOL_RUBBER = 0x141; 399 enum BTN_TOOL_BRUSH = 0x142; 400 enum BTN_TOOL_PENCIL = 0x143; 401 enum BTN_TOOL_AIRBRUSH = 0x144; 402 enum BTN_TOOL_FINGER = 0x145; 403 enum BTN_TOOL_MOUSE = 0x146; 404 enum BTN_TOOL_LENS = 0x147; 405 enum BTN_TOOL_QUINTTAP = 0x148; // Five fingers on trackpad 406 enum BTN_TOUCH = 0x14a; 407 enum BTN_STYLUS = 0x14b; 408 enum BTN_STYLUS2 = 0x14c; 409 enum BTN_TOOL_DOUBLETAP = 0x14d; 410 enum BTN_TOOL_TRIPLETAP = 0x14e; 411 enum BTN_TOOL_QUADTAP = 0x14f; // Four fingers on trackpad 412 413 enum BTN_WHEEL = 0x150; 414 enum BTN_GEAR_DOWN = 0x150; 415 enum BTN_GEAR_UP = 0x151; 416 417 enum KEY_OK = 0x160; 418 enum KEY_SELECT = 0x161; 419 enum KEY_GOTO = 0x162; 420 enum KEY_CLEAR = 0x163; 421 enum KEY_POWER2 = 0x164; 422 enum KEY_OPTION = 0x165; 423 enum KEY_INFO = 0x166; // AL OEM Features/Tips/Tutorial 424 enum KEY_TIME = 0x167; 425 enum KEY_VENDOR = 0x168; 426 enum KEY_ARCHIVE = 0x169; 427 enum KEY_PROGRAM = 0x16a; // Media Select Program Guide 428 enum KEY_CHANNEL = 0x16b; 429 enum KEY_FAVORITES = 0x16c; 430 enum KEY_EPG = 0x16d; 431 enum KEY_PVR = 0x16e; // Media Select Home 432 enum KEY_MHP = 0x16f; 433 enum KEY_LANGUAGE = 0x170; 434 enum KEY_TITLE = 0x171; 435 enum KEY_SUBTITLE = 0x172; 436 enum KEY_ANGLE = 0x173; 437 enum KEY_ZOOM = 0x174; 438 enum KEY_MODE = 0x175; 439 enum KEY_KEYBOARD = 0x176; 440 enum KEY_SCREEN = 0x177; 441 enum KEY_PC = 0x178; // Media Select Computer 442 enum KEY_TV = 0x179; // Media Select TV 443 enum KEY_TV2 = 0x17a; // Media Select Cable 444 enum KEY_VCR = 0x17b; // Media Select VCR 445 enum KEY_VCR2 = 0x17c; // VCR Plus 446 enum KEY_SAT = 0x17d; // Media Select Satellite 447 enum KEY_SAT2 = 0x17e; 448 enum KEY_CD = 0x17f; // Media Select CD 449 enum KEY_TAPE = 0x180; // Media Select Tape 450 enum KEY_RADIO = 0x181; 451 enum KEY_TUNER = 0x182; // Media Select Tuner 452 enum KEY_PLAYER = 0x183; 453 enum KEY_TEXT = 0x184; 454 enum KEY_DVD = 0x185; // Media Select DVD 455 enum KEY_AUX = 0x186; 456 enum KEY_MP3 = 0x187; 457 enum KEY_AUDIO = 0x188; // AL Audio Browser 458 enum KEY_VIDEO = 0x189; // AL Movie Browser 459 enum KEY_DIRECTORY = 0x18a; 460 enum KEY_LIST = 0x18b; 461 enum KEY_MEMO = 0x18c; // Media Select Messages 462 enum KEY_CALENDAR = 0x18d; 463 enum KEY_RED = 0x18e; 464 enum KEY_GREEN = 0x18f; 465 enum KEY_YELLOW = 0x190; 466 enum KEY_BLUE = 0x191; 467 enum KEY_CHANNELUP = 0x192; // Channel Increment 468 enum KEY_CHANNELDOWN = 0x193; // Channel Decrement 469 enum KEY_FIRST = 0x194; 470 enum KEY_LAST = 0x195; // Recall Last 471 enum KEY_AB = 0x196; 472 enum KEY_NEXT = 0x197; 473 enum KEY_RESTART = 0x198; 474 enum KEY_SLOW = 0x199; 475 enum KEY_SHUFFLE = 0x19a; 476 enum KEY_BREAK = 0x19b; 477 enum KEY_PREVIOUS = 0x19c; 478 enum KEY_DIGITS = 0x19d; 479 enum KEY_TEEN = 0x19e; 480 enum KEY_TWEN = 0x19f; 481 enum KEY_VIDEOPHONE = 0x1a0; // Media Select Video Phone 482 enum KEY_GAMES = 0x1a1; // Media Select Games 483 enum KEY_ZOOMIN = 0x1a2; // AC Zoom In 484 enum KEY_ZOOMOUT = 0x1a3; // AC Zoom Out 485 enum KEY_ZOOMRESET = 0x1a4; // AC Zoom 486 enum KEY_WORDPROCESSOR = 0x1a5; // AL Word Processor 487 enum KEY_EDITOR = 0x1a6; // AL Text Editor 488 enum KEY_SPREADSHEET = 0x1a7; // AL Spreadsheet 489 enum KEY_GRAPHICSEDITOR = 0x1a8; // AL Graphics Editor 490 enum KEY_PRESENTATION = 0x1a9; // AL Presentation App 491 enum KEY_DATABASE = 0x1aa; // AL Database App 492 enum KEY_NEWS = 0x1ab; // AL Newsreader 493 enum KEY_VOICEMAIL = 0x1ac; // AL Voicemail 494 enum KEY_ADDRESSBOOK = 0x1ad; // AL Contacts/Address Book 495 enum KEY_MESSENGER = 0x1ae; // AL Instant Messaging 496 enum KEY_DISPLAYTOGGLE = 0x1af; // Turn display (LCD) on and off 497 enum KEY_BRIGHTNESS_TOGGLE = KEY_DISPLAYTOGGLE; 498 enum KEY_SPELLCHECK = 0x1b0 ; // AL Spell Check 499 enum KEY_LOGOFF = 0x1b1 ; // AL Logoff 500 501 enum KEY_DOLLAR = 0x1b2; 502 enum KEY_EURO = 0x1b3; 503 504 enum KEY_FRAMEBACK = 0x1b4; // Consumer - transport controls 505 enum KEY_FRAMEFORWARD = 0x1b5; 506 enum KEY_CONTEXT_MENU = 0x1b6; // GenDesc - system context menu 507 enum KEY_MEDIA_REPEAT = 0x1b7; // Consumer - transport control 508 enum KEY_10CHANNELSUP = 0x1b8; // 10 channels up (10+) 509 enum KEY_10CHANNELSDOWN = 0x1b9; // 10 channels down (10-) 510 enum KEY_IMAGES = 0x1ba; // AL Image Browser 511 512 enum KEY_DEL_EOL = 0x1c0; 513 enum KEY_DEL_EOS = 0x1c1; 514 enum KEY_INS_LINE = 0x1c2; 515 enum KEY_DEL_LINE = 0x1c3; 516 517 enum KEY_FN = 0x1d0; 518 enum KEY_FN_ESC = 0x1d1; 519 enum KEY_FN_F1 = 0x1d2; 520 enum KEY_FN_F2 = 0x1d3; 521 enum KEY_FN_F3 = 0x1d4; 522 enum KEY_FN_F4 = 0x1d5; 523 enum KEY_FN_F5 = 0x1d6; 524 enum KEY_FN_F6 = 0x1d7; 525 enum KEY_FN_F7 = 0x1d8; 526 enum KEY_FN_F8 = 0x1d9; 527 enum KEY_FN_F9 = 0x1da; 528 enum KEY_FN_F10 = 0x1db; 529 enum KEY_FN_F11 = 0x1dc; 530 enum KEY_FN_F12 = 0x1dd; 531 enum KEY_FN_1 = 0x1de; 532 enum KEY_FN_2 = 0x1df; 533 enum KEY_FN_D = 0x1e0; 534 enum KEY_FN_E = 0x1e1; 535 enum KEY_FN_F = 0x1e2; 536 enum KEY_FN_S = 0x1e3; 537 enum KEY_FN_B = 0x1e4; 538 539 enum KEY_BRL_DOT1 = 0x1f1; 540 enum KEY_BRL_DOT2 = 0x1f2; 541 enum KEY_BRL_DOT3 = 0x1f3; 542 enum KEY_BRL_DOT4 = 0x1f4; 543 enum KEY_BRL_DOT5 = 0x1f5; 544 enum KEY_BRL_DOT6 = 0x1f6; 545 enum KEY_BRL_DOT7 = 0x1f7; 546 enum KEY_BRL_DOT8 = 0x1f8; 547 enum KEY_BRL_DOT9 = 0x1f9; 548 enum KEY_BRL_DOT10 = 0x1fa; 549 550 enum KEY_NUMERIC_0 = 0x200; // used by phones, remote controls, 551 enum KEY_NUMERIC_1 = 0x201; // and other keypads 552 enum KEY_NUMERIC_2 = 0x202; 553 enum KEY_NUMERIC_3 = 0x203; 554 enum KEY_NUMERIC_4 = 0x204; 555 enum KEY_NUMERIC_5 = 0x205; 556 enum KEY_NUMERIC_6 = 0x206; 557 enum KEY_NUMERIC_7 = 0x207; 558 enum KEY_NUMERIC_8 = 0x208; 559 enum KEY_NUMERIC_9 = 0x209; 560 enum KEY_NUMERIC_STAR = 0x20a; 561 enum KEY_NUMERIC_POUND = 0x20b; 562 enum KEY_NUMERIC_A = 0x20c; // Phone key A - HUT Telephony 0xb9 563 enum KEY_NUMERIC_B = 0x20d; 564 enum KEY_NUMERIC_C = 0x20e; 565 enum KEY_NUMERIC_D = 0x20f; 566 567 enum KEY_CAMERA_FOCUS = 0x210; 568 enum KEY_WPS_BUTTON = 0x211; // WiFi Protected Setup key 569 570 enum KEY_TOUCHPAD_TOGGLE = 0x212; // Request switch touchpad on or off 571 enum KEY_TOUCHPAD_ON = 0x213; 572 enum KEY_TOUCHPAD_OFF = 0x214; 573 574 enum KEY_CAMERA_ZOOMIN = 0x215; 575 enum KEY_CAMERA_ZOOMOUT = 0x216; 576 enum KEY_CAMERA_UP = 0x217; 577 enum KEY_CAMERA_DOWN = 0x218; 578 enum KEY_CAMERA_LEFT = 0x219; 579 enum KEY_CAMERA_RIGHT = 0x21a; 580 581 enum KEY_ATTENDANT_ON = 0x21b; 582 enum KEY_ATTENDANT_OFF = 0x21c; 583 enum KEY_ATTENDANT_TOGGLE = 0x21d; // Attendant call on or off 584 enum KEY_LIGHTS_TOGGLE = 0x21e; // Reading light on or off 585 586 enum BTN_DPAD_UP = 0x220; 587 enum BTN_DPAD_DOWN = 0x221; 588 enum BTN_DPAD_LEFT = 0x222; 589 enum BTN_DPAD_RIGHT = 0x223; 590 591 enum KEY_ALS_TOGGLE = 0x230; // Ambient light sensor 592 593 enum KEY_BUTTONCONFIG = 0x240; // AL Button Configuration 594 enum KEY_TASKMANAGER = 0x241; // AL Task/Project Manager 595 enum KEY_JOURNAL = 0x242; // AL Log/Journal/Timecard 596 enum KEY_CONTROLPANEL = 0x243; // AL Control Panel 597 enum KEY_APPSELECT = 0x244; // AL Select Task/Application 598 enum KEY_SCREENSAVER = 0x245; // AL Screen Saver 599 enum KEY_VOICECOMMAND = 0x246; // Listening Voice Command 600 601 enum KEY_BRIGHTNESS_MIN = 0x250; // Set Brightness to Minimum 602 enum KEY_BRIGHTNESS_MAX = 0x251; // Set Brightness to Maximum 603 604 enum KEY_KBDINPUTASSIST_PREV = 0x260; 605 enum KEY_KBDINPUTASSIST_NEXT = 0x261; 606 enum KEY_KBDINPUTASSIST_PREVGROUP = 0x262; 607 enum KEY_KBDINPUTASSIST_NEXTGROUP = 0x263; 608 enum KEY_KBDINPUTASSIST_ACCEPT = 0x264; 609 enum KEY_KBDINPUTASSIST_CANCEL = 0x265; 610 611 /* Diagonal movement keys */ 612 enum KEY_RIGHT_UP = 0x266; 613 enum KEY_RIGHT_DOWN = 0x267; 614 enum KEY_LEFT_UP = 0x268; 615 enum KEY_LEFT_DOWN = 0x269; 616 617 enum KEY_ROOT_MENU = 0x26a; // Show Device's Root Menu 618 /* Show Top Menu of the Media (e.g. DVD) */ 619 enum KEY_MEDIA_TOP_MENU = 0x26b; 620 enum KEY_NUMERIC_11 = 0x26c; 621 enum KEY_NUMERIC_12 = 0x26d; 622 /* 623 * Toggle Audio Description: refers to an audio service that helps blind and 624 * visually impaired consumers understand the action in a program. Note: in 625 * some countries this is referred to as "Video Description". 626 */ 627 enum KEY_AUDIO_DESC = 0x26e; 628 enum KEY_3D_MODE = 0x26f; 629 enum KEY_NEXT_FAVORITE = 0x270; 630 enum KEY_STOP_RECORD = 0x271; 631 enum KEY_PAUSE_RECORD = 0x272; 632 enum KEY_VOD = 0x273; // Video on Demand 633 enum KEY_UNMUTE = 0x274; 634 enum KEY_FASTREVERSE = 0x275; 635 enum KEY_SLOWREVERSE = 0x276; 636 /* 637 * Control a data application associated with the currently viewed channel, 638 * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.) 639 */ 640 enum KEY_DATA = 0x277; 641 642 enum BTN_TRIGGER_HAPPY = 0x2c0; 643 enum BTN_TRIGGER_HAPPY1 = 0x2c0; 644 enum BTN_TRIGGER_HAPPY2 = 0x2c1; 645 enum BTN_TRIGGER_HAPPY3 = 0x2c2; 646 enum BTN_TRIGGER_HAPPY4 = 0x2c3; 647 enum BTN_TRIGGER_HAPPY5 = 0x2c4; 648 enum BTN_TRIGGER_HAPPY6 = 0x2c5; 649 enum BTN_TRIGGER_HAPPY7 = 0x2c6; 650 enum BTN_TRIGGER_HAPPY8 = 0x2c7; 651 enum BTN_TRIGGER_HAPPY9 = 0x2c8; 652 enum BTN_TRIGGER_HAPPY10 = 0x2c9; 653 enum BTN_TRIGGER_HAPPY11 = 0x2ca; 654 enum BTN_TRIGGER_HAPPY12 = 0x2cb; 655 enum BTN_TRIGGER_HAPPY13 = 0x2cc; 656 enum BTN_TRIGGER_HAPPY14 = 0x2cd; 657 enum BTN_TRIGGER_HAPPY15 = 0x2ce; 658 enum BTN_TRIGGER_HAPPY16 = 0x2cf; 659 enum BTN_TRIGGER_HAPPY17 = 0x2d0; 660 enum BTN_TRIGGER_HAPPY18 = 0x2d1; 661 enum BTN_TRIGGER_HAPPY19 = 0x2d2; 662 enum BTN_TRIGGER_HAPPY20 = 0x2d3; 663 enum BTN_TRIGGER_HAPPY21 = 0x2d4; 664 enum BTN_TRIGGER_HAPPY22 = 0x2d5; 665 enum BTN_TRIGGER_HAPPY23 = 0x2d6; 666 enum BTN_TRIGGER_HAPPY24 = 0x2d7; 667 enum BTN_TRIGGER_HAPPY25 = 0x2d8; 668 enum BTN_TRIGGER_HAPPY26 = 0x2d9; 669 enum BTN_TRIGGER_HAPPY27 = 0x2da; 670 enum BTN_TRIGGER_HAPPY28 = 0x2db; 671 enum BTN_TRIGGER_HAPPY29 = 0x2dc; 672 enum BTN_TRIGGER_HAPPY30 = 0x2dd; 673 enum BTN_TRIGGER_HAPPY31 = 0x2de; 674 enum BTN_TRIGGER_HAPPY32 = 0x2df; 675 enum BTN_TRIGGER_HAPPY33 = 0x2e0; 676 enum BTN_TRIGGER_HAPPY34 = 0x2e1; 677 enum BTN_TRIGGER_HAPPY35 = 0x2e2; 678 enum BTN_TRIGGER_HAPPY36 = 0x2e3; 679 enum BTN_TRIGGER_HAPPY37 = 0x2e4; 680 enum BTN_TRIGGER_HAPPY38 = 0x2e5; 681 enum BTN_TRIGGER_HAPPY39 = 0x2e6; 682 enum BTN_TRIGGER_HAPPY40 = 0x2e7; 683 684 /* We avoid low common keys in module aliases so they don't get huge. */ 685 enum KEY_MIN_INTERESTING = KEY_MUTE; 686 enum KEY_MAX = 0x2ff; 687 enum KEY_CNT = KEY_MAX+1; 688 689 /* 690 * Relative axes 691 */ 692 693 enum REL_X = 0x00; 694 enum REL_Y = 0x01; 695 enum REL_Z = 0x02; 696 enum REL_RX = 0x03; 697 enum REL_RY = 0x04; 698 enum REL_RZ = 0x05; 699 enum REL_HWHEEL = 0x06; 700 enum REL_DIAL = 0x07; 701 enum REL_WHEEL = 0x08; 702 enum REL_MISC = 0x09; 703 enum REL_MAX = 0x0f; 704 enum REL_CNT = REL_MAX+1; 705 706 /* 707 * Absolute axes 708 */ 709 710 enum ABS_X = 0x00; 711 enum ABS_Y = 0x01; 712 enum ABS_Z = 0x02; 713 enum ABS_RX = 0x03; 714 enum ABS_RY = 0x04; 715 enum ABS_RZ = 0x05; 716 enum ABS_THROTTLE = 0x06; 717 enum ABS_RUDDER = 0x07; 718 enum ABS_WHEEL = 0x08; 719 enum ABS_GAS = 0x09; 720 enum ABS_BRAKE = 0x0a; 721 enum ABS_HAT0X = 0x10; 722 enum ABS_HAT0Y = 0x11; 723 enum ABS_HAT1X = 0x12; 724 enum ABS_HAT1Y = 0x13; 725 enum ABS_HAT2X = 0x14; 726 enum ABS_HAT2Y = 0x15; 727 enum ABS_HAT3X = 0x16; 728 enum ABS_HAT3Y = 0x17; 729 enum ABS_PRESSURE = 0x18; 730 enum ABS_DISTANCE = 0x19; 731 enum ABS_TILT_X = 0x1a; 732 enum ABS_TILT_Y = 0x1b; 733 enum ABS_TOOL_WIDTH = 0x1c; 734 735 enum ABS_VOLUME = 0x20; 736 737 enum ABS_MISC = 0x28; 738 739 enum ABS_MT_SLOT = 0x2f; // MT slot being modified 740 enum ABS_MT_TOUCH_MAJOR = 0x30; // Major axis of touching ellipse 741 enum ABS_MT_TOUCH_MINOR = 0x31; // Minor axis (omit if circular) 742 enum ABS_MT_WIDTH_MAJOR = 0x32; // Major axis of approaching ellipse 743 enum ABS_MT_WIDTH_MINOR = 0x33; // Minor axis (omit if circular) 744 enum ABS_MT_ORIENTATION = 0x34; // Ellipse orientation 745 enum ABS_MT_POSITION_X = 0x35; // Center X touch position 746 enum ABS_MT_POSITION_Y = 0x36; // Center Y touch position 747 enum ABS_MT_TOOL_TYPE = 0x37; // Type of touching device 748 enum ABS_MT_BLOB_ID = 0x38; // Group a set of packets as a blob 749 enum ABS_MT_TRACKING_ID = 0x39; // Unique ID of initiated contact 750 enum ABS_MT_PRESSURE = 0x3a; // Pressure on contact area 751 enum ABS_MT_DISTANCE = 0x3b; // Contact hover distance 752 enum ABS_MT_TOOL_X = 0x3c; // Center X tool position 753 enum ABS_MT_TOOL_Y = 0x3d; // Center Y tool position 754 755 756 enum ABS_MAX = 0x3f; 757 enum ABS_CNT = ABS_MAX+1; 758 759 /* 760 * Switch events 761 */ 762 763 enum SW_LID = 0x00 ; // set = lid shut 764 enum SW_TABLET_MODE = 0x01 ; // set = tablet mode 765 enum SW_HEADPHONE_INSERT = 0x02 ; // set = inserted 766 enum SW_RFKILL_ALL = 0x03; /+ rfkill master switch, type "any"; 767 set = radio enabled +/ 768 enum SW_RADIO = SW_RFKILL_ALL; // deprecated 769 enum SW_MICROPHONE_INSERT = 0x04 ; // set = inserted 770 enum SW_DOCK = 0x05 ; // set = plugged into dock 771 enum SW_LINEOUT_INSERT = 0x06 ; // set = inserted 772 enum SW_JACK_PHYSICAL_INSERT = 0x07 ; // set = mechanical switch set 773 enum SW_VIDEOOUT_INSERT = 0x08 ; // set = inserted 774 enum SW_CAMERA_LENS_COVER = 0x09 ; // set = lens covered 775 enum SW_KEYPAD_SLIDE = 0x0a ; // set = keypad slide out 776 enum SW_FRONT_PROXIMITY = 0x0b ; // set = front proximity sensor active 777 enum SW_ROTATE_LOCK = 0x0c ; // set = rotate locked/disabled 778 enum SW_LINEIN_INSERT = 0x0d ; // set = inserted 779 enum SW_MUTE_DEVICE = 0x0e ; // set = device disabled 780 enum SW_PEN_INSERTED = 0x0f ; // set = pen inserted 781 enum SW_MAX = 0x0f; 782 enum SW_CNT = SW_MAX+1; 783 784 /* 785 * Misc events 786 */ 787 788 enum MSC_SERIAL = 0x00; 789 enum MSC_PULSELED = 0x01; 790 enum MSC_GESTURE = 0x02; 791 enum MSC_RAW = 0x03; 792 enum MSC_SCAN = 0x04; 793 enum MSC_TIMESTAMP = 0x05; 794 enum MSC_MAX = 0x07; 795 enum MSC_CNT = MSC_MAX+1; 796 797 /* 798 * LEDs 799 */ 800 801 enum LED_NUML = 0x00; 802 enum LED_CAPSL = 0x01; 803 enum LED_SCROLLL = 0x02; 804 enum LED_COMPOSE = 0x03; 805 enum LED_KANA = 0x04; 806 enum LED_SLEEP = 0x05; 807 enum LED_SUSPEND = 0x06; 808 enum LED_MUTE = 0x07; 809 enum LED_MISC = 0x08; 810 enum LED_MAIL = 0x09; 811 enum LED_CHARGING = 0x0a; 812 enum LED_MAX = 0x0f; 813 enum LED_CNT = LED_MAX+1; 814 815 /* 816 * Autorepeat values 817 */ 818 819 enum REP_DELAY = 0x00; 820 enum REP_PERIOD = 0x01; 821 enum REP_MAX = 0x01; 822 enum REP_CNT = REP_MAX+1; 823 824 /* 825 * Sounds 826 */ 827 828 enum SND_CLICK = 0x00; 829 enum SND_BELL = 0x01; 830 enum SND_TONE = 0x02; 831 enum SND_MAX = 0x07; 832 enum SND_CNT = SND_MAX+1; 833