16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/**************************************************************************** 26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh **************************************************************************** 36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** 46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** This header was automatically generated from a Linux kernel header 56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** of the same name, to make information necessary for userspace to 66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** call into the kernel available to libc. It contains only constants, 76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** structures, and macros generated from the original header, and thus, 86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** contains no copyrightable information. 96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh *** 106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh **************************************************************************** 116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/ 126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifndef _INPUT_H 136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _INPUT_H 146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <sys/time.h> 166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <sys/ioctl.h> 176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <sys/types.h> 186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <asm/types.h> 196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct input_event { 216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct timeval time; 226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 type; 236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 code; 246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s32 value; 256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_VERSION 0x010000 286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct input_id { 306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 bustype; 316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 vendor; 326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 product; 336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 version; 346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct input_absinfo { 376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s32 value; 386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s32 minimum; 396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s32 maximum; 406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s32 fuzz; 416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s32 flat; 426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGVERSION _IOR('E', 0x01, int) 456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGID _IOR('E', 0x02, struct input_id) 466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGREP _IOR('E', 0x03, int[2]) 476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCSREP _IOW('E', 0x03, int[2]) 486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGKEYCODE _IOR('E', 0x04, int[2]) 496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCSKEYCODE _IOW('E', 0x04, int[2]) 506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) 526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) 536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) 546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) 566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) 576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len) 586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) 596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + ev, len) 616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGABS(abs) _IOR('E', 0x40 + abs, struct input_absinfo) 626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCSABS(abs) _IOW('E', 0xc0 + abs, struct input_absinfo) 636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(struct ff_effect)) 656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCRMFF _IOW('E', 0x81, int) 666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGEFFECTS _IOR('E', 0x84, int) 676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EVIOCGRAB _IOW('E', 0x90, int) 696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_SYN 0x00 716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_KEY 0x01 726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_REL 0x02 736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_ABS 0x03 746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_MSC 0x04 756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_SW 0x05 766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_LED 0x11 776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_SND 0x12 786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_REP 0x14 796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_FF 0x15 806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_PWR 0x16 816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_FF_STATUS 0x17 826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define EV_MAX 0x1f 836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SYN_REPORT 0 856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SYN_CONFIG 1 866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RESERVED 0 886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ESC 1 896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_1 2 906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_2 3 916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_3 4 926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_4 5 936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_5 6 946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_6 7 956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_7 8 966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_8 9 976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_9 10 986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_0 11 996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MINUS 12 1006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EQUAL 13 1016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BACKSPACE 14 1026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TAB 15 1036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_Q 16 1046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_W 17 1056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_E 18 1066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_R 19 1076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_T 20 1086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_Y 21 1096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_U 22 1106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_I 23 1116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_O 24 1126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_P 25 1136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LEFTBRACE 26 1146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RIGHTBRACE 27 1156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ENTER 28 1166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LEFTCTRL 29 1176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_A 30 1186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_S 31 1196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_D 32 1206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F 33 1216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_G 34 1226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_H 35 1236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_J 36 1246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_K 37 1256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_L 38 1266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SEMICOLON 39 1276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_APOSTROPHE 40 1286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_GRAVE 41 1296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LEFTSHIFT 42 1306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BACKSLASH 43 1316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_Z 44 1326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_X 45 1336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_C 46 1346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_V 47 1356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_B 48 1366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_N 49 1376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_M 50 1386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_COMMA 51 1396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DOT 52 1406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SLASH 53 1416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RIGHTSHIFT 54 1426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPASTERISK 55 1436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LEFTALT 56 1446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SPACE 57 1456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CAPSLOCK 58 1466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F1 59 1476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F2 60 1486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F3 61 1496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F4 62 1506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F5 63 1516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F6 64 1526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F7 65 1536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F8 66 1546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F9 67 1556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F10 68 1566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_NUMLOCK 69 1576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SCROLLLOCK 70 1586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP7 71 1596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP8 72 1606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP9 73 1616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPMINUS 74 1626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP4 75 1636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP5 76 1646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP6 77 1656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPPLUS 78 1666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP1 79 1676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP2 80 1686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP3 81 1696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KP0 82 1706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPDOT 83 1716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 1726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ZENKAKUHANKAKU 85 1736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_102ND 86 1746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F11 87 1756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F12 88 1766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RO 89 1776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KATAKANA 90 1786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HIRAGANA 91 1796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HENKAN 92 1806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KATAKANAHIRAGANA 93 1816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MUHENKAN 94 1826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPJPCOMMA 95 1836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPENTER 96 1846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RIGHTCTRL 97 1856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPSLASH 98 1866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SYSRQ 99 1876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RIGHTALT 100 1886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LINEFEED 101 1896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HOME 102 1906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_UP 103 1916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PAGEUP 104 1926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LEFT 105 1936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RIGHT 106 1946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_END 107 1956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DOWN 108 1966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PAGEDOWN 109 1976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_INSERT 110 1986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DELETE 111 1996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MACRO 112 2006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MUTE 113 2016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_VOLUMEDOWN 114 2026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_VOLUMEUP 115 2036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_POWER 116 2046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPEQUAL 117 2056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPPLUSMINUS 118 2066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PAUSE 119 2076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPCOMMA 121 2096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HANGEUL 122 2106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HANGUEL KEY_HANGEUL 2116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HANJA 123 2126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_YEN 124 2136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LEFTMETA 125 2146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RIGHTMETA 126 2156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_COMPOSE 127 2166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_STOP 128 2186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_AGAIN 129 2196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PROPS 130 2206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_UNDO 131 2216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FRONT 132 2226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_COPY 133 2236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_OPEN 134 2246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PASTE 135 2256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FIND 136 2266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CUT 137 2276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HELP 138 2286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MENU 139 2296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CALC 140 2306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SETUP 141 2316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SLEEP 142 2326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_WAKEUP 143 2336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FILE 144 2346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SENDFILE 145 2356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DELETEFILE 146 2366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_XFER 147 2376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PROG1 148 2386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PROG2 149 2396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_WWW 150 2406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MSDOS 151 2416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_COFFEE 152 2426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DIRECTION 153 2436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CYCLEWINDOWS 154 2446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MAIL 155 2456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BOOKMARKS 156 2466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_COMPUTER 157 2476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BACK 158 2486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FORWARD 159 2496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CLOSECD 160 2506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EJECTCD 161 2516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EJECTCLOSECD 162 2526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_NEXTSONG 163 2536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PLAYPAUSE 164 2546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PREVIOUSSONG 165 2556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_STOPCD 166 2566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RECORD 167 2576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_REWIND 168 2586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PHONE 169 2596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ISO 170 2606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CONFIG 171 2616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HOMEPAGE 172 2626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_REFRESH 173 2636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EXIT 174 2646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MOVE 175 2656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EDIT 176 2666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SCROLLUP 177 2676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SCROLLDOWN 178 2686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPLEFTPAREN 179 2696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KPRIGHTPAREN 180 2706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_NEW 181 2716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_REDO 182 2726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F13 183 2746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F14 184 2756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F15 185 2766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F16 186 2776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F17 187 2786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F18 188 2796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F19 189 2806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F20 190 2816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F21 191 2826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F22 192 2836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F23 193 2846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_F24 194 2856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 2866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PLAYCD 200 2876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PAUSECD 201 2886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PROG3 202 2896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PROG4 203 2906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SUSPEND 205 2916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CLOSE 206 2926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PLAY 207 2936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FASTFORWARD 208 2946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BASSBOOST 209 2956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PRINT 210 2966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HP 211 2976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CAMERA 212 2986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SOUND 213 2996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_QUESTION 214 3006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EMAIL 215 3016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CHAT 216 3026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SEARCH 217 3036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CONNECT 218 3046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FINANCE 219 3056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SPORT 220 3066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SHOP 221 3076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ALTERASE 222 3086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CANCEL 223 3096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRIGHTNESSDOWN 224 3106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRIGHTNESSUP 225 3116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MEDIA 226 3126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_STAR 227 3146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SHARP 228 3156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SOFT1 229 3166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SOFT2 230 3176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SEND 231 3186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CENTER 232 3196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_HEADSETHOOK 233 3206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_0_5 234 3216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_2_5 235 3226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SWITCHVIDEOMODE 236 3246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KBDILLUMTOGGLE 237 3256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KBDILLUMDOWN 238 3266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KBDILLUMUP 239 3276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SEND 231 3296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_REPLY 232 3306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FORWARDMAIL 233 3316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SAVE 234 3326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DOCUMENTS 235 3336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BATTERY 236 3356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_UNKNOWN 240 3376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_MISC 0x100 3396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_0 0x100 3406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_1 0x101 3416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_2 0x102 3426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_3 0x103 3436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_4 0x104 3446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_5 0x105 3456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_6 0x106 3466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_7 0x107 3476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_8 0x108 3486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_9 0x109 3496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_MOUSE 0x110 3516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_LEFT 0x110 3526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_RIGHT 0x111 3536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_MIDDLE 0x112 3546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_SIDE 0x113 3556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_EXTRA 0x114 3566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_FORWARD 0x115 3576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BACK 0x116 3586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TASK 0x117 3596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_JOYSTICK 0x120 3616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TRIGGER 0x120 3626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_THUMB 0x121 3636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_THUMB2 0x122 3646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOP 0x123 3656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOP2 0x124 3666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_PINKIE 0x125 3676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BASE 0x126 3686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BASE2 0x127 3696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BASE3 0x128 3706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BASE4 0x129 3716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BASE5 0x12a 3726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_BASE6 0x12b 3736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_DEAD 0x12f 3746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_GAMEPAD 0x130 3766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_A 0x130 3776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_B 0x131 3786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_C 0x132 3796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_X 0x133 3806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_Y 0x134 3816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_Z 0x135 3826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TL 0x136 3836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TR 0x137 3846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TL2 0x138 3856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TR2 0x139 3866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_SELECT 0x13a 3876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_START 0x13b 3886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_MODE 0x13c 3896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_THUMBL 0x13d 3906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_THUMBR 0x13e 3916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 3926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_DIGI 0x140 3936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_PEN 0x140 3946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_RUBBER 0x141 3956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_BRUSH 0x142 3966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_PENCIL 0x143 3976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_AIRBRUSH 0x144 3986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_FINGER 0x145 3996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_MOUSE 0x146 4006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_LENS 0x147 4016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOUCH 0x14a 4026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_STYLUS 0x14b 4036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_STYLUS2 0x14c 4046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_DOUBLETAP 0x14d 4056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_TOOL_TRIPLETAP 0x14e 4066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 4076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_WHEEL 0x150 4086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_GEAR_DOWN 0x150 4096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BTN_GEAR_UP 0x151 4106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 4116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_OK 0x160 4126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SELECT 0x161 4136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_GOTO 0x162 4146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CLEAR 0x163 4156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_POWER2 0x164 4166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_OPTION 0x165 4176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_INFO 0x166 4186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TIME 0x167 4196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_VENDOR 0x168 4206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ARCHIVE 0x169 4216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PROGRAM 0x16a 4226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CHANNEL 0x16b 4236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FAVORITES 0x16c 4246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_EPG 0x16d 4256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PVR 0x16e 4266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MHP 0x16f 4276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LANGUAGE 0x170 4286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TITLE 0x171 4296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SUBTITLE 0x172 4306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ANGLE 0x173 4316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_ZOOM 0x174 4326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MODE 0x175 4336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_KEYBOARD 0x176 4346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SCREEN 0x177 4356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PC 0x178 4366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TV 0x179 4376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TV2 0x17a 4386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_VCR 0x17b 4396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_VCR2 0x17c 4406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SAT 0x17d 4416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SAT2 0x17e 4426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CD 0x17f 4436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TAPE 0x180 4446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RADIO 0x181 4456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TUNER 0x182 4466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PLAYER 0x183 4476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TEXT 0x184 4486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DVD 0x185 4496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_AUX 0x186 4506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MP3 0x187 4516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_AUDIO 0x188 4526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_VIDEO 0x189 4536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DIRECTORY 0x18a 4546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LIST 0x18b 4556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MEMO 0x18c 4566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CALENDAR 0x18d 4576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RED 0x18e 4586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_GREEN 0x18f 4596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_YELLOW 0x190 4606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BLUE 0x191 4616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CHANNELUP 0x192 4626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_CHANNELDOWN 0x193 4636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FIRST 0x194 4646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_LAST 0x195 4656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_AB 0x196 4666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_NEXT 0x197 4676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_RESTART 0x198 4686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SLOW 0x199 4696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_SHUFFLE 0x19a 4706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BREAK 0x19b 4716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_PREVIOUS 0x19c 4726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DIGITS 0x19d 4736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TEEN 0x19e 4746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_TWEN 0x19f 4756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 4766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DEL_EOL 0x1c0 4776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DEL_EOS 0x1c1 4786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_INS_LINE 0x1c2 4796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_DEL_LINE 0x1c3 4806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 4816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN 0x1d0 4826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_ESC 0x1d1 4836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F1 0x1d2 4846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F2 0x1d3 4856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F3 0x1d4 4866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F4 0x1d5 4876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F5 0x1d6 4886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F6 0x1d7 4896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F7 0x1d8 4906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F8 0x1d9 4916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F9 0x1da 4926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F10 0x1db 4936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F11 0x1dc 4946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F12 0x1dd 4956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_1 0x1de 4966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_2 0x1df 4976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_D 0x1e0 4986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_E 0x1e1 4996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_F 0x1e2 5006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_S 0x1e3 5016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_FN_B 0x1e4 5026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT1 0x1f1 5046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT2 0x1f2 5056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT3 0x1f3 5066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT4 0x1f4 5076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT5 0x1f5 5086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT6 0x1f6 5096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT7 0x1f7 5106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_BRL_DOT8 0x1f8 5116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MIN_INTERESTING KEY_MUTE 5136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define KEY_MAX 0x1ff 5146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_X 0x00 5166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_Y 0x01 5176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_Z 0x02 5186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_RX 0x03 5196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_RY 0x04 5206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_RZ 0x05 5216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_HWHEEL 0x06 5226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_DIAL 0x07 5236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_WHEEL 0x08 5246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_MISC 0x09 5256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REL_MAX 0x0f 5266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_X 0x00 5286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_Y 0x01 5296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_Z 0x02 5306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_RX 0x03 5316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_RY 0x04 5326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_RZ 0x05 5336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_THROTTLE 0x06 5346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_RUDDER 0x07 5356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_WHEEL 0x08 5366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_GAS 0x09 5376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_BRAKE 0x0a 5386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT0X 0x10 5396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT0Y 0x11 5406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT1X 0x12 5416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT1Y 0x13 5426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT2X 0x14 5436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT2Y 0x15 5446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT3X 0x16 5456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_HAT3Y 0x17 5466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_PRESSURE 0x18 5476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_DISTANCE 0x19 5486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_TILT_X 0x1a 5496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_TILT_Y 0x1b 5506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_TOOL_WIDTH 0x1c 5516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_VOLUME 0x20 5526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_MISC 0x28 5536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ABS_MAX 0x3f 5546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SW_LID 0x00 5566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SW_TABLET_MODE 0x01 5576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SW_HEADPHONE_INSERT 0x02 5586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SW_MAX 0x0f 5596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSC_SERIAL 0x00 5616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSC_PULSELED 0x01 5626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSC_GESTURE 0x02 5636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSC_RAW 0x03 5646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSC_SCAN 0x04 5656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define MSC_MAX 0x07 5666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_NUML 0x00 5686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_CAPSL 0x01 5696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_SCROLLL 0x02 5706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_COMPOSE 0x03 5716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_KANA 0x04 5726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_SLEEP 0x05 5736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_SUSPEND 0x06 5746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_MUTE 0x07 5756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_MISC 0x08 5766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_MAIL 0x09 5776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_CHARGING 0x0a 5786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define LED_MAX 0x0f 5796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REP_DELAY 0x00 5816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REP_PERIOD 0x01 5826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define REP_MAX 0x01 5836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SND_CLICK 0x00 5856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SND_BELL 0x01 5866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SND_TONE 0x02 5876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define SND_MAX 0x07 5886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ID_BUS 0 5906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ID_VENDOR 1 5916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ID_PRODUCT 2 5926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ID_VERSION 3 5936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 5946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_PCI 0x01 5956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_ISAPNP 0x02 5966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_USB 0x03 5976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_HIL 0x04 5986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_BLUETOOTH 0x05 5996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_ISA 0x10 6016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_I8042 0x11 6026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_XTKBD 0x12 6036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_RS232 0x13 6046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_GAMEPORT 0x14 6056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_PARPORT 0x15 6066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_AMIGA 0x16 6076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_ADB 0x17 6086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_I2C 0x18 6096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_HOST 0x19 6106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define BUS_GSC 0x1A 6116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_STATUS_STOPPED 0x00 6136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_STATUS_PLAYING 0x01 6146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_STATUS_MAX 0x01 6156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_replay { 6176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 length; 6186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 delay; 6196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_trigger { 6226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 button; 6236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 interval; 6246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_envelope { 6276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 attack_length; 6286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 attack_level; 6296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 fade_length; 6306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 fade_level; 6316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_constant_effect { 6346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 level; 6356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_envelope envelope; 6366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_ramp_effect { 6396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 start_level; 6406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 end_level; 6416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_envelope envelope; 6426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_condition_effect { 6456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 right_saturation; 6466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 left_saturation; 6476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 right_coeff; 6496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 left_coeff; 6506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 deadband; 6526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 center; 6536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_periodic_effect { 6576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 waveform; 6586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 period; 6596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 magnitude; 6606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 offset; 6616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 phase; 6626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_envelope envelope; 6646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 custom_len; 6666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 *custom_data; 6676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_rumble_effect { 6716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 strong_magnitude; 6726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 weak_magnitude; 6736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ff_effect { 6766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 type; 6776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __s16 id; 6796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 direction; 6816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_trigger trigger; 6836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_replay replay; 6846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh union { 6866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_constant_effect constant; 6876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_ramp_effect ramp; 6886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_periodic_effect periodic; 6896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_condition_effect condition[2]; 6906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct ff_rumble_effect rumble; 6916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh } u; 6926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh}; 6936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 6946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_RUMBLE 0x50 6956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_PERIODIC 0x51 6966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_CONSTANT 0x52 6976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_SPRING 0x53 6986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_FRICTION 0x54 6996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_DAMPER 0x55 7006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_INERTIA 0x56 7016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_RAMP 0x57 7026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 7036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_SQUARE 0x58 7046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_TRIANGLE 0x59 7056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_SINE 0x5a 7066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_SAW_UP 0x5b 7076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_SAW_DOWN 0x5c 7086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_CUSTOM 0x5d 7096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 7106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_GAIN 0x60 7116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_AUTOCENTER 0x61 7126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 7136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define FF_MAX 0x7f 7146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh 7156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif 716