111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _INPUT_H
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _INPUT_H
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/time.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/ioctl.h>
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/types.h>
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <asm/types.h>
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct input_event {
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct timeval time;
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 type;
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 code;
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 value;
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_VERSION 0x010000
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct input_id {
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 bustype;
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 vendor;
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 product;
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 version;
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct input_absinfo {
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 value;
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 minimum;
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 maximum;
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 fuzz;
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 flat;
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGVERSION _IOR('E', 0x01, int)
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGID _IOR('E', 0x02, struct input_id)
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGREP _IOR('E', 0x03, int[2])
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCSREP _IOW('E', 0x03, int[2])
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGKEYCODE _IOR('E', 0x04, int[2])
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCSKEYCODE _IOW('E', 0x04, int[2])
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len)
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len)
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len)
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len)
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len)
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len)
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len)
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + ev, len)
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGABS(abs) _IOR('E', 0x40 + abs, struct input_absinfo)
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCSABS(abs) _IOW('E', 0xc0 + abs, struct input_absinfo)
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCSFF _IOC(_IOC_WRITE, 'E', 0x80, sizeof(struct ff_effect))
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCRMFF _IOW('E', 0x81, int)
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGEFFECTS _IOR('E', 0x84, int)
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EVIOCGRAB _IOW('E', 0x90, int)
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_SYN 0x00
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_KEY 0x01
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_REL 0x02
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_ABS 0x03
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_MSC 0x04
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_SW 0x05
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_LED 0x11
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_SND 0x12
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_REP 0x14
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_FF 0x15
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_PWR 0x16
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_FF_STATUS 0x17
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define EV_MAX 0x1f
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYN_REPORT 0
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SYN_CONFIG 1
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RESERVED 0
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ESC 1
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_1 2
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_2 3
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_3 4
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_4 5
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_5 6
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_6 7
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_7 8
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_8 9
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_9 10
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_0 11
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MINUS 12
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EQUAL 13
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BACKSPACE 14
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TAB 15
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_Q 16
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_W 17
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_E 18
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_R 19
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_T 20
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_Y 21
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_U 22
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_I 23
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_O 24
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_P 25
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LEFTBRACE 26
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RIGHTBRACE 27
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ENTER 28
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LEFTCTRL 29
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_A 30
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_S 31
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_D 32
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F 33
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_G 34
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_H 35
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_J 36
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_K 37
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_L 38
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SEMICOLON 39
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_APOSTROPHE 40
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_GRAVE 41
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LEFTSHIFT 42
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BACKSLASH 43
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_Z 44
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_X 45
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_C 46
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_V 47
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_B 48
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_N 49
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_M 50
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_COMMA 51
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DOT 52
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SLASH 53
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RIGHTSHIFT 54
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPASTERISK 55
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LEFTALT 56
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SPACE 57
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CAPSLOCK 58
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F1 59
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F2 60
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F3 61
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F4 62
15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F5 63
15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F6 64
15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F7 65
15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F8 66
15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F9 67
15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F10 68
15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_NUMLOCK 69
15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SCROLLLOCK 70
15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP7 71
15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP8 72
16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP9 73
16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPMINUS 74
16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP4 75
16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP5 76
16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP6 77
16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPPLUS 78
16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP1 79
16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP2 80
16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP3 81
16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KP0 82
17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPDOT 83
17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ZENKAKUHANKAKU 85
17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_102ND 86
17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F11 87
17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F12 88
17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RO 89
17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KATAKANA 90
17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HIRAGANA 91
17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HENKAN 92
18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KATAKANAHIRAGANA 93
18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MUHENKAN 94
18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPJPCOMMA 95
18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPENTER 96
18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RIGHTCTRL 97
18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPSLASH 98
18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SYSRQ 99
18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RIGHTALT 100
18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LINEFEED 101
18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HOME 102
19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_UP 103
19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PAGEUP 104
19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LEFT 105
19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RIGHT 106
19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_END 107
19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DOWN 108
19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PAGEDOWN 109
19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_INSERT 110
19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DELETE 111
19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MACRO 112
20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MUTE 113
20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_VOLUMEDOWN 114
20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_VOLUMEUP 115
20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_POWER 116
20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPEQUAL 117
20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPPLUSMINUS 118
20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PAUSE 119
20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPCOMMA 121
20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HANGEUL 122
21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HANGUEL KEY_HANGEUL
21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HANJA 123
21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_YEN 124
21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LEFTMETA 125
21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RIGHTMETA 126
21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_COMPOSE 127
21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_STOP 128
21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_AGAIN 129
21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PROPS 130
22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_UNDO 131
22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FRONT 132
22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_COPY 133
22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_OPEN 134
22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PASTE 135
22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FIND 136
22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CUT 137
22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HELP 138
22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MENU 139
22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CALC 140
23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SETUP 141
23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SLEEP 142
23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_WAKEUP 143
23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FILE 144
23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SENDFILE 145
23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DELETEFILE 146
23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_XFER 147
23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PROG1 148
23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PROG2 149
23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_WWW 150
24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MSDOS 151
24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_COFFEE 152
24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DIRECTION 153
24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CYCLEWINDOWS 154
24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MAIL 155
24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BOOKMARKS 156
24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_COMPUTER 157
24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BACK 158
24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FORWARD 159
24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CLOSECD 160
25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EJECTCD 161
25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EJECTCLOSECD 162
25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_NEXTSONG 163
25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PLAYPAUSE 164
25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PREVIOUSSONG 165
25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_STOPCD 166
25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RECORD 167
25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_REWIND 168
25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PHONE 169
25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ISO 170
26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CONFIG 171
26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HOMEPAGE 172
26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_REFRESH 173
26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EXIT 174
26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MOVE 175
26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EDIT 176
26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SCROLLUP 177
26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SCROLLDOWN 178
26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPLEFTPAREN 179
26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KPRIGHTPAREN 180
27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_NEW 181
27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_REDO 182
27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F13 183
27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F14 184
27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F15 185
27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F16 186
27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F17 187
27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F18 188
27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F19 189
28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F20 190
28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F21 191
28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F22 192
28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F23 193
28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_F24 194
28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PLAYCD 200
28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PAUSECD 201
28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PROG3 202
28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PROG4 203
29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SUSPEND 205
29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CLOSE 206
29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PLAY 207
29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FASTFORWARD 208
29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BASSBOOST 209
29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PRINT 210
29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HP 211
29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CAMERA 212
29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SOUND 213
29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_QUESTION 214
30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EMAIL 215
30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CHAT 216
30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SEARCH 217
30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CONNECT 218
30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FINANCE 219
30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SPORT 220
30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SHOP 221
30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ALTERASE 222
30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CANCEL 223
30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRIGHTNESSDOWN 224
31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRIGHTNESSUP 225
31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MEDIA 226
31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_STAR 227
31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SHARP 228
31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SOFT1 229
31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SOFT2 230
31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SEND 231
31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CENTER 232
31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_HEADSETHOOK 233
32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_0_5 234
32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_2_5 235
32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SWITCHVIDEOMODE 236
32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KBDILLUMTOGGLE 237
32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KBDILLUMDOWN 238
32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KBDILLUMUP 239
32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SEND 231
32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_REPLY 232
33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FORWARDMAIL 233
33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SAVE 234
33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DOCUMENTS 235
33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BATTERY 236
33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_UNKNOWN 240
33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_MISC 0x100
33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_0 0x100
34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_1 0x101
34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_2 0x102
34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_3 0x103
34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_4 0x104
34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_5 0x105
34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_6 0x106
34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_7 0x107
34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_8 0x108
34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_9 0x109
34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_MOUSE 0x110
35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_LEFT 0x110
35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_RIGHT 0x111
35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_MIDDLE 0x112
35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_SIDE 0x113
35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_EXTRA 0x114
35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_FORWARD 0x115
35711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BACK 0x116
35811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TASK 0x117
35911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
36011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_JOYSTICK 0x120
36111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TRIGGER 0x120
36211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_THUMB 0x121
36311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_THUMB2 0x122
36411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOP 0x123
36511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOP2 0x124
36611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_PINKIE 0x125
36711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BASE 0x126
36811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BASE2 0x127
36911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BASE3 0x128
37011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BASE4 0x129
37111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BASE5 0x12a
37211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_BASE6 0x12b
37311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_DEAD 0x12f
37411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
37511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_GAMEPAD 0x130
37611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_A 0x130
37711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_B 0x131
37811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_C 0x132
37911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_X 0x133
38011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_Y 0x134
38111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_Z 0x135
38211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TL 0x136
38311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TR 0x137
38411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TL2 0x138
38511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TR2 0x139
38611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_SELECT 0x13a
38711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_START 0x13b
38811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_MODE 0x13c
38911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_THUMBL 0x13d
39011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_THUMBR 0x13e
39111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
39211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_DIGI 0x140
39311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_PEN 0x140
39411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_RUBBER 0x141
39511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_BRUSH 0x142
39611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_PENCIL 0x143
39711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_AIRBRUSH 0x144
39811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_FINGER 0x145
39911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_MOUSE 0x146
40011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_LENS 0x147
40111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOUCH 0x14a
40211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_STYLUS 0x14b
40311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_STYLUS2 0x14c
40411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_DOUBLETAP 0x14d
40511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_TOOL_TRIPLETAP 0x14e
40611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
40711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_WHEEL 0x150
40811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_GEAR_DOWN 0x150
40911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BTN_GEAR_UP 0x151
41011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
41111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_OK 0x160
41211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SELECT 0x161
41311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_GOTO 0x162
41411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CLEAR 0x163
41511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_POWER2 0x164
41611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_OPTION 0x165
41711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_INFO 0x166
41811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TIME 0x167
41911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_VENDOR 0x168
42011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ARCHIVE 0x169
42111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PROGRAM 0x16a
42211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CHANNEL 0x16b
42311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FAVORITES 0x16c
42411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_EPG 0x16d
42511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PVR 0x16e
42611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MHP 0x16f
42711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LANGUAGE 0x170
42811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TITLE 0x171
42911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SUBTITLE 0x172
43011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ANGLE 0x173
43111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_ZOOM 0x174
43211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MODE 0x175
43311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_KEYBOARD 0x176
43411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SCREEN 0x177
43511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PC 0x178
43611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TV 0x179
43711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TV2 0x17a
43811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_VCR 0x17b
43911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_VCR2 0x17c
44011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SAT 0x17d
44111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SAT2 0x17e
44211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CD 0x17f
44311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TAPE 0x180
44411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RADIO 0x181
44511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TUNER 0x182
44611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PLAYER 0x183
44711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TEXT 0x184
44811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DVD 0x185
44911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_AUX 0x186
45011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MP3 0x187
45111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_AUDIO 0x188
45211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_VIDEO 0x189
45311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DIRECTORY 0x18a
45411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LIST 0x18b
45511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MEMO 0x18c
45611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CALENDAR 0x18d
45711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RED 0x18e
45811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_GREEN 0x18f
45911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_YELLOW 0x190
46011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BLUE 0x191
46111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CHANNELUP 0x192
46211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_CHANNELDOWN 0x193
46311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FIRST 0x194
46411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_LAST 0x195
46511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_AB 0x196
46611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_NEXT 0x197
46711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_RESTART 0x198
46811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SLOW 0x199
46911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_SHUFFLE 0x19a
47011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BREAK 0x19b
47111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_PREVIOUS 0x19c
47211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DIGITS 0x19d
47311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TEEN 0x19e
47411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_TWEN 0x19f
47511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
47611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DEL_EOL 0x1c0
47711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DEL_EOS 0x1c1
47811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_INS_LINE 0x1c2
47911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_DEL_LINE 0x1c3
48011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
48111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN 0x1d0
48211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_ESC 0x1d1
48311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F1 0x1d2
48411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F2 0x1d3
48511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F3 0x1d4
48611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F4 0x1d5
48711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F5 0x1d6
48811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F6 0x1d7
48911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F7 0x1d8
49011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F8 0x1d9
49111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F9 0x1da
49211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F10 0x1db
49311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F11 0x1dc
49411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F12 0x1dd
49511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_1 0x1de
49611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_2 0x1df
49711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_D 0x1e0
49811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_E 0x1e1
49911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_F 0x1e2
50011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_S 0x1e3
50111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_FN_B 0x1e4
50211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
50311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT1 0x1f1
50411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT2 0x1f2
50511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT3 0x1f3
50611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT4 0x1f4
50711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT5 0x1f5
50811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT6 0x1f6
50911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT7 0x1f7
51011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_BRL_DOT8 0x1f8
51111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
51211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MIN_INTERESTING KEY_MUTE
51311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define KEY_MAX 0x1ff
51411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
51511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_X 0x00
51611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_Y 0x01
51711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_Z 0x02
51811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_RX 0x03
51911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_RY 0x04
52011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_RZ 0x05
52111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_HWHEEL 0x06
52211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_DIAL 0x07
52311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_WHEEL 0x08
52411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_MISC 0x09
52511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REL_MAX 0x0f
52611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
52711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_X 0x00
52811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_Y 0x01
52911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_Z 0x02
53011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_RX 0x03
53111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_RY 0x04
53211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_RZ 0x05
53311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_THROTTLE 0x06
53411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_RUDDER 0x07
53511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_WHEEL 0x08
53611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_GAS 0x09
53711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_BRAKE 0x0a
53811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT0X 0x10
53911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT0Y 0x11
54011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT1X 0x12
54111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT1Y 0x13
54211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT2X 0x14
54311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT2Y 0x15
54411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT3X 0x16
54511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_HAT3Y 0x17
54611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_PRESSURE 0x18
54711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_DISTANCE 0x19
54811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_TILT_X 0x1a
54911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_TILT_Y 0x1b
55011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_TOOL_WIDTH 0x1c
55111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_VOLUME 0x20
55211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_MISC 0x28
55311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ABS_MAX 0x3f
55411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
55511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SW_LID 0x00
55611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SW_TABLET_MODE 0x01
55711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SW_HEADPHONE_INSERT 0x02
55811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SW_MAX 0x0f
55911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
56011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MSC_SERIAL 0x00
56111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MSC_PULSELED 0x01
56211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MSC_GESTURE 0x02
56311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MSC_RAW 0x03
56411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MSC_SCAN 0x04
56511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define MSC_MAX 0x07
56611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
56711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_NUML 0x00
56811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_CAPSL 0x01
56911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_SCROLLL 0x02
57011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_COMPOSE 0x03
57111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_KANA 0x04
57211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_SLEEP 0x05
57311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_SUSPEND 0x06
57411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_MUTE 0x07
57511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_MISC 0x08
57611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_MAIL 0x09
57711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_CHARGING 0x0a
57811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define LED_MAX 0x0f
57911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
58011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REP_DELAY 0x00
58111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REP_PERIOD 0x01
58211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define REP_MAX 0x01
58311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
58411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SND_CLICK 0x00
58511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SND_BELL 0x01
58611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SND_TONE 0x02
58711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SND_MAX 0x07
58811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
58911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ID_BUS 0
59011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ID_VENDOR 1
59111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ID_PRODUCT 2
59211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ID_VERSION 3
59311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
59411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_PCI 0x01
59511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_ISAPNP 0x02
59611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_USB 0x03
59711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_HIL 0x04
59811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_BLUETOOTH 0x05
59911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
60011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_ISA 0x10
60111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_I8042 0x11
60211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_XTKBD 0x12
60311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_RS232 0x13
60411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_GAMEPORT 0x14
60511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_PARPORT 0x15
60611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_AMIGA 0x16
60711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_ADB 0x17
60811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_I2C 0x18
60911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_HOST 0x19
61011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BUS_GSC 0x1A
61111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
61211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_STATUS_STOPPED 0x00
61311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_STATUS_PLAYING 0x01
61411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_STATUS_MAX 0x01
61511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
61611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_replay {
61711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 length;
61811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 delay;
61911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
62011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
62111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_trigger {
62211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 button;
62311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 interval;
62411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
62511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
62611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_envelope {
62711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 attack_length;
62811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 attack_level;
62911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 fade_length;
63011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 fade_level;
63111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
63211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
63311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_constant_effect {
63411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 level;
63511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_envelope envelope;
63611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
63711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
63811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_ramp_effect {
63911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 start_level;
64011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 end_level;
64111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_envelope envelope;
64211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
64311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
64411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_condition_effect {
64511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 right_saturation;
64611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 left_saturation;
64711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
64811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 right_coeff;
64911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 left_coeff;
65011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
65111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 deadband;
65211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 center;
65311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
65411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
65511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
65611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_periodic_effect {
65711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 waveform;
65811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 period;
65911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 magnitude;
66011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 offset;
66111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 phase;
66211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
66311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_envelope envelope;
66411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
66511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 custom_len;
66611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 *custom_data;
66711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
66811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
66911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
67011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_rumble_effect {
67111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 strong_magnitude;
67211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 weak_magnitude;
67311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
67411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
67511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ff_effect {
67611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 type;
67711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
67811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 id;
67911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
68011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 direction;
68111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
68211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_trigger trigger;
68311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_replay replay;
68411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
68511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union {
68611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_constant_effect constant;
68711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_ramp_effect ramp;
68811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_periodic_effect periodic;
68911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_condition_effect condition[2];
69011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ff_rumble_effect rumble;
69111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } u;
69211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
69311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
69411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_RUMBLE 0x50
69511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_PERIODIC 0x51
69611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_CONSTANT 0x52
69711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_SPRING 0x53
69811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_FRICTION 0x54
69911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_DAMPER 0x55
70011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_INERTIA 0x56
70111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_RAMP 0x57
70211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
70311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_SQUARE 0x58
70411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_TRIANGLE 0x59
70511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_SINE 0x5a
70611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_SAW_UP 0x5b
70711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_SAW_DOWN 0x5c
70811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_CUSTOM 0x5d
70911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
71011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_GAIN 0x60
71111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_AUTOCENTER 0x61
71211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
71311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define FF_MAX 0x7f
71411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
71511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
716