1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _INPUT_H 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _INPUT_H 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <sys/time.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <sys/ioctl.h> 17951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <sys/types.h> 18951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/types.h> 19951a39d68df598db08dfced8b4707755864a0492Ying Wang 20951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct input_event { 21951a39d68df598db08dfced8b4707755864a0492Ying Wang struct timeval time; 22951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 type; 23951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 code; 24951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 value; 25951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 26951a39d68df598db08dfced8b4707755864a0492Ying Wang 27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_VERSION 0x010000 28951a39d68df598db08dfced8b4707755864a0492Ying Wang 29951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct input_id { 30951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 bustype; 31951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 vendor; 32951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 product; 33951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 version; 34951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 35951a39d68df598db08dfced8b4707755864a0492Ying Wang 36951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct input_absinfo { 37951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 value; 38951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 minimum; 39951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 maximum; 40951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 fuzz; 41951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 flat; 42951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 43951a39d68df598db08dfced8b4707755864a0492Ying Wang 44951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGVERSION _IOR('E', 0x01, int) 45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGID _IOR('E', 0x02, struct input_id) 46951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGREP _IOR('E', 0x03, int[2]) 47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCSREP _IOW('E', 0x03, int[2]) 48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGKEYCODE _IOR('E', 0x04, int[2]) 49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCSKEYCODE _IOW('E', 0x04, int[2]) 50951a39d68df598db08dfced8b4707755864a0492Ying Wang 51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) 52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) 53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) 54951a39d68df598db08dfced8b4707755864a0492Ying Wang 55951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) 56951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) 57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len) 58951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) 59951a39d68df598db08dfced8b4707755864a0492Ying Wang 60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + ev, len) 61951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGABS(abs) _IOR('E', 0x40 + abs, struct input_absinfo) 62951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCSABS(abs) _IOW('E', 0xc0 + abs, struct input_absinfo) 63951a39d68df598db08dfced8b4707755864a0492Ying Wang 64951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(struct ff_effect)) 65951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCRMFF _IOW('E', 0x81, int) 66951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGEFFECTS _IOR('E', 0x84, int) 67951a39d68df598db08dfced8b4707755864a0492Ying Wang 68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EVIOCGRAB _IOW('E', 0x90, int) 69951a39d68df598db08dfced8b4707755864a0492Ying Wang 70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_SYN 0x00 71951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_KEY 0x01 72951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_REL 0x02 73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_ABS 0x03 74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_MSC 0x04 75951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_SW 0x05 76951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_LED 0x11 77951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_SND 0x12 78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_REP 0x14 79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_FF 0x15 80951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_PWR 0x16 81951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_FF_STATUS 0x17 82951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EV_MAX 0x1f 83951a39d68df598db08dfced8b4707755864a0492Ying Wang 84951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SYN_REPORT 0 85951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SYN_CONFIG 1 86951a39d68df598db08dfced8b4707755864a0492Ying Wang 87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RESERVED 0 88951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ESC 1 89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_1 2 90951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_2 3 91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_3 4 92951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_4 5 93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_5 6 94951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_6 7 95951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_7 8 96951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_8 9 97951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_9 10 98951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_0 11 99951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MINUS 12 100951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EQUAL 13 101951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BACKSPACE 14 102951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TAB 15 103951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_Q 16 104951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_W 17 105951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_E 18 106951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_R 19 107951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_T 20 108951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_Y 21 109951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_U 22 110951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_I 23 111951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_O 24 112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_P 25 113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LEFTBRACE 26 114951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RIGHTBRACE 27 115951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ENTER 28 116951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LEFTCTRL 29 117951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_A 30 118951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_S 31 119951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_D 32 120951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F 33 121951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_G 34 122951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_H 35 123951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_J 36 124951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_K 37 125951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_L 38 126951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SEMICOLON 39 127951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_APOSTROPHE 40 128951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_GRAVE 41 129951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LEFTSHIFT 42 130951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BACKSLASH 43 131951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_Z 44 132951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_X 45 133951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_C 46 134951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_V 47 135951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_B 48 136951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_N 49 137951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_M 50 138951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_COMMA 51 139951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DOT 52 140951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SLASH 53 141951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RIGHTSHIFT 54 142951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPASTERISK 55 143951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LEFTALT 56 144951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SPACE 57 145951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CAPSLOCK 58 146951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F1 59 147951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F2 60 148951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F3 61 149951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F4 62 150951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F5 63 151951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F6 64 152951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F7 65 153951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F8 66 154951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F9 67 155951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F10 68 156951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_NUMLOCK 69 157951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SCROLLLOCK 70 158951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP7 71 159951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP8 72 160951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP9 73 161951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPMINUS 74 162951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP4 75 163951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP5 76 164951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP6 77 165951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPPLUS 78 166951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP1 79 167951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP2 80 168951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP3 81 169951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KP0 82 170951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPDOT 83 171951a39d68df598db08dfced8b4707755864a0492Ying Wang 172951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ZENKAKUHANKAKU 85 173951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_102ND 86 174951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F11 87 175951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F12 88 176951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RO 89 177951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KATAKANA 90 178951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HIRAGANA 91 179951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HENKAN 92 180951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KATAKANAHIRAGANA 93 181951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MUHENKAN 94 182951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPJPCOMMA 95 183951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPENTER 96 184951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RIGHTCTRL 97 185951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPSLASH 98 186951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SYSRQ 99 187951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RIGHTALT 100 188951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LINEFEED 101 189951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HOME 102 190951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_UP 103 191951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PAGEUP 104 192951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LEFT 105 193951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RIGHT 106 194951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_END 107 195951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DOWN 108 196951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PAGEDOWN 109 197951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_INSERT 110 198951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DELETE 111 199951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MACRO 112 200951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MUTE 113 201951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_VOLUMEDOWN 114 202951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_VOLUMEUP 115 203951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_POWER 116 204951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPEQUAL 117 205951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPPLUSMINUS 118 206951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PAUSE 119 207951a39d68df598db08dfced8b4707755864a0492Ying Wang 208951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPCOMMA 121 209951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HANGEUL 122 210951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HANGUEL KEY_HANGEUL 211951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HANJA 123 212951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_YEN 124 213951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LEFTMETA 125 214951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RIGHTMETA 126 215951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_COMPOSE 127 216951a39d68df598db08dfced8b4707755864a0492Ying Wang 217951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_STOP 128 218951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_AGAIN 129 219951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PROPS 130 220951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_UNDO 131 221951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FRONT 132 222951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_COPY 133 223951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_OPEN 134 224951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PASTE 135 225951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FIND 136 226951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CUT 137 227951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HELP 138 228951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MENU 139 229951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CALC 140 230951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SETUP 141 231951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SLEEP 142 232951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_WAKEUP 143 233951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FILE 144 234951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SENDFILE 145 235951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DELETEFILE 146 236951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_XFER 147 237951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PROG1 148 238951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PROG2 149 239951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_WWW 150 240951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MSDOS 151 241951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_COFFEE 152 242951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DIRECTION 153 243951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CYCLEWINDOWS 154 244951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MAIL 155 245951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BOOKMARKS 156 246951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_COMPUTER 157 247951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BACK 158 248951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FORWARD 159 249951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CLOSECD 160 250951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EJECTCD 161 251951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EJECTCLOSECD 162 252951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_NEXTSONG 163 253951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PLAYPAUSE 164 254951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PREVIOUSSONG 165 255951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_STOPCD 166 256951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RECORD 167 257951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_REWIND 168 258951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PHONE 169 259951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ISO 170 260951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CONFIG 171 261951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HOMEPAGE 172 262951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_REFRESH 173 263951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EXIT 174 264951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MOVE 175 265951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EDIT 176 266951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SCROLLUP 177 267951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SCROLLDOWN 178 268951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPLEFTPAREN 179 269951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KPRIGHTPAREN 180 270951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_NEW 181 271951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_REDO 182 272951a39d68df598db08dfced8b4707755864a0492Ying Wang 273951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F13 183 274951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F14 184 275951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F15 185 276951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F16 186 277951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F17 187 278951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F18 188 279951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F19 189 280951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F20 190 281951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F21 191 282951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F22 192 283951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F23 193 284951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_F24 194 285951a39d68df598db08dfced8b4707755864a0492Ying Wang 286951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PLAYCD 200 287951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PAUSECD 201 288951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PROG3 202 289951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PROG4 203 290951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SUSPEND 205 291951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CLOSE 206 292951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PLAY 207 293951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FASTFORWARD 208 294951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BASSBOOST 209 295951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PRINT 210 296951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HP 211 297951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CAMERA 212 298951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SOUND 213 299951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_QUESTION 214 300951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EMAIL 215 301951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CHAT 216 302951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SEARCH 217 303951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CONNECT 218 304951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FINANCE 219 305951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SPORT 220 306951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SHOP 221 307951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ALTERASE 222 308951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CANCEL 223 309951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRIGHTNESSDOWN 224 310951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRIGHTNESSUP 225 311951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MEDIA 226 312951a39d68df598db08dfced8b4707755864a0492Ying Wang 313951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_STAR 227 314951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SHARP 228 315951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SOFT1 229 316951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SOFT2 230 317951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SEND 231 318951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CENTER 232 319951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_HEADSETHOOK 233 320951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_0_5 234 321951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_2_5 235 322951a39d68df598db08dfced8b4707755864a0492Ying Wang 323951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SWITCHVIDEOMODE 236 324951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KBDILLUMTOGGLE 237 325951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KBDILLUMDOWN 238 326951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KBDILLUMUP 239 327951a39d68df598db08dfced8b4707755864a0492Ying Wang 328951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SEND 231 329951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_REPLY 232 330951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FORWARDMAIL 233 331951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SAVE 234 332951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DOCUMENTS 235 333951a39d68df598db08dfced8b4707755864a0492Ying Wang 334951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BATTERY 236 335951a39d68df598db08dfced8b4707755864a0492Ying Wang 336951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_UNKNOWN 240 337951a39d68df598db08dfced8b4707755864a0492Ying Wang 338951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_MISC 0x100 339951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_0 0x100 340951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_1 0x101 341951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_2 0x102 342951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_3 0x103 343951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_4 0x104 344951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_5 0x105 345951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_6 0x106 346951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_7 0x107 347951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_8 0x108 348951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_9 0x109 349951a39d68df598db08dfced8b4707755864a0492Ying Wang 350951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_MOUSE 0x110 351951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_LEFT 0x110 352951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_RIGHT 0x111 353951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_MIDDLE 0x112 354951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_SIDE 0x113 355951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_EXTRA 0x114 356951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_FORWARD 0x115 357951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BACK 0x116 358951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TASK 0x117 359951a39d68df598db08dfced8b4707755864a0492Ying Wang 360951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_JOYSTICK 0x120 361951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TRIGGER 0x120 362951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_THUMB 0x121 363951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_THUMB2 0x122 364951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOP 0x123 365951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOP2 0x124 366951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_PINKIE 0x125 367951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BASE 0x126 368951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BASE2 0x127 369951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BASE3 0x128 370951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BASE4 0x129 371951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BASE5 0x12a 372951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_BASE6 0x12b 373951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_DEAD 0x12f 374951a39d68df598db08dfced8b4707755864a0492Ying Wang 375951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_GAMEPAD 0x130 376951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_A 0x130 377951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_B 0x131 378951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_C 0x132 379951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_X 0x133 380951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_Y 0x134 381951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_Z 0x135 382951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TL 0x136 383951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TR 0x137 384951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TL2 0x138 385951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TR2 0x139 386951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_SELECT 0x13a 387951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_START 0x13b 388951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_MODE 0x13c 389951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_THUMBL 0x13d 390951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_THUMBR 0x13e 391951a39d68df598db08dfced8b4707755864a0492Ying Wang 392951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_DIGI 0x140 393951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_PEN 0x140 394951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_RUBBER 0x141 395951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_BRUSH 0x142 396951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_PENCIL 0x143 397951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_AIRBRUSH 0x144 398951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_FINGER 0x145 399951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_MOUSE 0x146 400951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_LENS 0x147 401951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOUCH 0x14a 402951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_STYLUS 0x14b 403951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_STYLUS2 0x14c 404951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_DOUBLETAP 0x14d 405951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_TOOL_TRIPLETAP 0x14e 406951a39d68df598db08dfced8b4707755864a0492Ying Wang 407951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_WHEEL 0x150 408951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_GEAR_DOWN 0x150 409951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BTN_GEAR_UP 0x151 410951a39d68df598db08dfced8b4707755864a0492Ying Wang 411951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_OK 0x160 412951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SELECT 0x161 413951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_GOTO 0x162 414951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CLEAR 0x163 415951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_POWER2 0x164 416951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_OPTION 0x165 417951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_INFO 0x166 418951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TIME 0x167 419951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_VENDOR 0x168 420951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ARCHIVE 0x169 421951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PROGRAM 0x16a 422951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CHANNEL 0x16b 423951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FAVORITES 0x16c 424951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_EPG 0x16d 425951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PVR 0x16e 426951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MHP 0x16f 427951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LANGUAGE 0x170 428951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TITLE 0x171 429951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SUBTITLE 0x172 430951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ANGLE 0x173 431951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_ZOOM 0x174 432951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MODE 0x175 433951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_KEYBOARD 0x176 434951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SCREEN 0x177 435951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PC 0x178 436951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TV 0x179 437951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TV2 0x17a 438951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_VCR 0x17b 439951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_VCR2 0x17c 440951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SAT 0x17d 441951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SAT2 0x17e 442951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CD 0x17f 443951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TAPE 0x180 444951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RADIO 0x181 445951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TUNER 0x182 446951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PLAYER 0x183 447951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TEXT 0x184 448951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DVD 0x185 449951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_AUX 0x186 450951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MP3 0x187 451951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_AUDIO 0x188 452951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_VIDEO 0x189 453951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DIRECTORY 0x18a 454951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LIST 0x18b 455951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MEMO 0x18c 456951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CALENDAR 0x18d 457951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RED 0x18e 458951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_GREEN 0x18f 459951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_YELLOW 0x190 460951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BLUE 0x191 461951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CHANNELUP 0x192 462951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_CHANNELDOWN 0x193 463951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FIRST 0x194 464951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_LAST 0x195 465951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_AB 0x196 466951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_NEXT 0x197 467951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_RESTART 0x198 468951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SLOW 0x199 469951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_SHUFFLE 0x19a 470951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BREAK 0x19b 471951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_PREVIOUS 0x19c 472951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DIGITS 0x19d 473951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TEEN 0x19e 474951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_TWEN 0x19f 475951a39d68df598db08dfced8b4707755864a0492Ying Wang 476951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DEL_EOL 0x1c0 477951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DEL_EOS 0x1c1 478951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_INS_LINE 0x1c2 479951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_DEL_LINE 0x1c3 480951a39d68df598db08dfced8b4707755864a0492Ying Wang 481951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN 0x1d0 482951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_ESC 0x1d1 483951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F1 0x1d2 484951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F2 0x1d3 485951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F3 0x1d4 486951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F4 0x1d5 487951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F5 0x1d6 488951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F6 0x1d7 489951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F7 0x1d8 490951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F8 0x1d9 491951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F9 0x1da 492951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F10 0x1db 493951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F11 0x1dc 494951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F12 0x1dd 495951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_1 0x1de 496951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_2 0x1df 497951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_D 0x1e0 498951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_E 0x1e1 499951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_F 0x1e2 500951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_S 0x1e3 501951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_FN_B 0x1e4 502951a39d68df598db08dfced8b4707755864a0492Ying Wang 503951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT1 0x1f1 504951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT2 0x1f2 505951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT3 0x1f3 506951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT4 0x1f4 507951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT5 0x1f5 508951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT6 0x1f6 509951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT7 0x1f7 510951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_BRL_DOT8 0x1f8 511951a39d68df598db08dfced8b4707755864a0492Ying Wang 512951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MIN_INTERESTING KEY_MUTE 513951a39d68df598db08dfced8b4707755864a0492Ying Wang#define KEY_MAX 0x1ff 514951a39d68df598db08dfced8b4707755864a0492Ying Wang 515951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_X 0x00 516951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_Y 0x01 517951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_Z 0x02 518951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_RX 0x03 519951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_RY 0x04 520951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_RZ 0x05 521951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_HWHEEL 0x06 522951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_DIAL 0x07 523951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_WHEEL 0x08 524951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_MISC 0x09 525951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REL_MAX 0x0f 526951a39d68df598db08dfced8b4707755864a0492Ying Wang 527951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_X 0x00 528951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_Y 0x01 529951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_Z 0x02 530951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_RX 0x03 531951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_RY 0x04 532951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_RZ 0x05 533951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_THROTTLE 0x06 534951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_RUDDER 0x07 535951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_WHEEL 0x08 536951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_GAS 0x09 537951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_BRAKE 0x0a 538951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT0X 0x10 539951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT0Y 0x11 540951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT1X 0x12 541951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT1Y 0x13 542951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT2X 0x14 543951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT2Y 0x15 544951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT3X 0x16 545951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_HAT3Y 0x17 546951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_PRESSURE 0x18 547951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_DISTANCE 0x19 548951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_TILT_X 0x1a 549951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_TILT_Y 0x1b 550951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_TOOL_WIDTH 0x1c 551951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_VOLUME 0x20 552951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_MISC 0x28 553951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ABS_MAX 0x3f 554951a39d68df598db08dfced8b4707755864a0492Ying Wang 555951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SW_LID 0x00 556951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SW_TABLET_MODE 0x01 557951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SW_HEADPHONE_INSERT 0x02 558951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SW_MAX 0x0f 559951a39d68df598db08dfced8b4707755864a0492Ying Wang 560951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MSC_SERIAL 0x00 561951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MSC_PULSELED 0x01 562951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MSC_GESTURE 0x02 563951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MSC_RAW 0x03 564951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MSC_SCAN 0x04 565951a39d68df598db08dfced8b4707755864a0492Ying Wang#define MSC_MAX 0x07 566951a39d68df598db08dfced8b4707755864a0492Ying Wang 567951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_NUML 0x00 568951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_CAPSL 0x01 569951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_SCROLLL 0x02 570951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_COMPOSE 0x03 571951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_KANA 0x04 572951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_SLEEP 0x05 573951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_SUSPEND 0x06 574951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_MUTE 0x07 575951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_MISC 0x08 576951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_MAIL 0x09 577951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_CHARGING 0x0a 578951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LED_MAX 0x0f 579951a39d68df598db08dfced8b4707755864a0492Ying Wang 580951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REP_DELAY 0x00 581951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REP_PERIOD 0x01 582951a39d68df598db08dfced8b4707755864a0492Ying Wang#define REP_MAX 0x01 583951a39d68df598db08dfced8b4707755864a0492Ying Wang 584951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SND_CLICK 0x00 585951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SND_BELL 0x01 586951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SND_TONE 0x02 587951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SND_MAX 0x07 588951a39d68df598db08dfced8b4707755864a0492Ying Wang 589951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ID_BUS 0 590951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ID_VENDOR 1 591951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ID_PRODUCT 2 592951a39d68df598db08dfced8b4707755864a0492Ying Wang#define ID_VERSION 3 593951a39d68df598db08dfced8b4707755864a0492Ying Wang 594951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_PCI 0x01 595951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_ISAPNP 0x02 596951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_USB 0x03 597951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_HIL 0x04 598951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_BLUETOOTH 0x05 599951a39d68df598db08dfced8b4707755864a0492Ying Wang 600951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_ISA 0x10 601951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_I8042 0x11 602951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_XTKBD 0x12 603951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_RS232 0x13 604951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_GAMEPORT 0x14 605951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_PARPORT 0x15 606951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_AMIGA 0x16 607951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_ADB 0x17 608951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_I2C 0x18 609951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_HOST 0x19 610951a39d68df598db08dfced8b4707755864a0492Ying Wang#define BUS_GSC 0x1A 611951a39d68df598db08dfced8b4707755864a0492Ying Wang 612951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_STATUS_STOPPED 0x00 613951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_STATUS_PLAYING 0x01 614951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_STATUS_MAX 0x01 615951a39d68df598db08dfced8b4707755864a0492Ying Wang 616951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_replay { 617951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 length; 618951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 delay; 619951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 620951a39d68df598db08dfced8b4707755864a0492Ying Wang 621951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_trigger { 622951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 button; 623951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 interval; 624951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 625951a39d68df598db08dfced8b4707755864a0492Ying Wang 626951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_envelope { 627951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 attack_length; 628951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 attack_level; 629951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 fade_length; 630951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 fade_level; 631951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 632951a39d68df598db08dfced8b4707755864a0492Ying Wang 633951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_constant_effect { 634951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 level; 635951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_envelope envelope; 636951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 637951a39d68df598db08dfced8b4707755864a0492Ying Wang 638951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_ramp_effect { 639951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 start_level; 640951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 end_level; 641951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_envelope envelope; 642951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 643951a39d68df598db08dfced8b4707755864a0492Ying Wang 644951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_condition_effect { 645951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 right_saturation; 646951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 left_saturation; 647951a39d68df598db08dfced8b4707755864a0492Ying Wang 648951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 right_coeff; 649951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 left_coeff; 650951a39d68df598db08dfced8b4707755864a0492Ying Wang 651951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 deadband; 652951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 center; 653951a39d68df598db08dfced8b4707755864a0492Ying Wang 654951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 655951a39d68df598db08dfced8b4707755864a0492Ying Wang 656951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_periodic_effect { 657951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 waveform; 658951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 period; 659951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 magnitude; 660951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 offset; 661951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 phase; 662951a39d68df598db08dfced8b4707755864a0492Ying Wang 663951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_envelope envelope; 664951a39d68df598db08dfced8b4707755864a0492Ying Wang 665951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 custom_len; 666951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 *custom_data; 667951a39d68df598db08dfced8b4707755864a0492Ying Wang 668951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 669951a39d68df598db08dfced8b4707755864a0492Ying Wang 670951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_rumble_effect { 671951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 strong_magnitude; 672951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 weak_magnitude; 673951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 674951a39d68df598db08dfced8b4707755864a0492Ying Wang 675951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ff_effect { 676951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 type; 677951a39d68df598db08dfced8b4707755864a0492Ying Wang 678951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 id; 679951a39d68df598db08dfced8b4707755864a0492Ying Wang 680951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 direction; 681951a39d68df598db08dfced8b4707755864a0492Ying Wang 682951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_trigger trigger; 683951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_replay replay; 684951a39d68df598db08dfced8b4707755864a0492Ying Wang 685951a39d68df598db08dfced8b4707755864a0492Ying Wang union { 686951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_constant_effect constant; 687951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_ramp_effect ramp; 688951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_periodic_effect periodic; 689951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_condition_effect condition[2]; 690951a39d68df598db08dfced8b4707755864a0492Ying Wang struct ff_rumble_effect rumble; 691951a39d68df598db08dfced8b4707755864a0492Ying Wang } u; 692951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 693951a39d68df598db08dfced8b4707755864a0492Ying Wang 694951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_RUMBLE 0x50 695951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_PERIODIC 0x51 696951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_CONSTANT 0x52 697951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_SPRING 0x53 698951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_FRICTION 0x54 699951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_DAMPER 0x55 700951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_INERTIA 0x56 701951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_RAMP 0x57 702951a39d68df598db08dfced8b4707755864a0492Ying Wang 703951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_SQUARE 0x58 704951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_TRIANGLE 0x59 705951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_SINE 0x5a 706951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_SAW_UP 0x5b 707951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_SAW_DOWN 0x5c 708951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_CUSTOM 0x5d 709951a39d68df598db08dfced8b4707755864a0492Ying Wang 710951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_GAIN 0x60 711951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_AUTOCENTER 0x61 712951a39d68df598db08dfced8b4707755864a0492Ying Wang 713951a39d68df598db08dfced8b4707755864a0492Ying Wang#define FF_MAX 0x7f 714951a39d68df598db08dfced8b4707755864a0492Ying Wang 715951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 716