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