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