1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_INPUT_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_INPUT_H 9*8d67ca89SAndroid Build Coastguard Worker #include <sys/time.h> 10*8d67ca89SAndroid Build Coastguard Worker #include <sys/ioctl.h> 11*8d67ca89SAndroid Build Coastguard Worker #include <sys/types.h> 12*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 13*8d67ca89SAndroid Build Coastguard Worker #include "input-event-codes.h" 14*8d67ca89SAndroid Build Coastguard Worker struct input_event { 15*8d67ca89SAndroid Build Coastguard Worker #if __BITS_PER_LONG != 32 || !defined(__USE_TIME_BITS64) 16*8d67ca89SAndroid Build Coastguard Worker struct timeval time; 17*8d67ca89SAndroid Build Coastguard Worker #define input_event_sec time.tv_sec 18*8d67ca89SAndroid Build Coastguard Worker #define input_event_usec time.tv_usec 19*8d67ca89SAndroid Build Coastguard Worker #else 20*8d67ca89SAndroid Build Coastguard Worker __kernel_ulong_t __sec; 21*8d67ca89SAndroid Build Coastguard Worker #if defined(__sparc__) && defined(__arch64__) 22*8d67ca89SAndroid Build Coastguard Worker unsigned int __usec; 23*8d67ca89SAndroid Build Coastguard Worker unsigned int __pad; 24*8d67ca89SAndroid Build Coastguard Worker #else 25*8d67ca89SAndroid Build Coastguard Worker __kernel_ulong_t __usec; 26*8d67ca89SAndroid Build Coastguard Worker #endif 27*8d67ca89SAndroid Build Coastguard Worker #define input_event_sec __sec 28*8d67ca89SAndroid Build Coastguard Worker #define input_event_usec __usec 29*8d67ca89SAndroid Build Coastguard Worker #endif 30*8d67ca89SAndroid Build Coastguard Worker __u16 type; 31*8d67ca89SAndroid Build Coastguard Worker __u16 code; 32*8d67ca89SAndroid Build Coastguard Worker __s32 value; 33*8d67ca89SAndroid Build Coastguard Worker }; 34*8d67ca89SAndroid Build Coastguard Worker #define EV_VERSION 0x010001 35*8d67ca89SAndroid Build Coastguard Worker struct input_id { 36*8d67ca89SAndroid Build Coastguard Worker __u16 bustype; 37*8d67ca89SAndroid Build Coastguard Worker __u16 vendor; 38*8d67ca89SAndroid Build Coastguard Worker __u16 product; 39*8d67ca89SAndroid Build Coastguard Worker __u16 version; 40*8d67ca89SAndroid Build Coastguard Worker }; 41*8d67ca89SAndroid Build Coastguard Worker struct input_absinfo { 42*8d67ca89SAndroid Build Coastguard Worker __s32 value; 43*8d67ca89SAndroid Build Coastguard Worker __s32 minimum; 44*8d67ca89SAndroid Build Coastguard Worker __s32 maximum; 45*8d67ca89SAndroid Build Coastguard Worker __s32 fuzz; 46*8d67ca89SAndroid Build Coastguard Worker __s32 flat; 47*8d67ca89SAndroid Build Coastguard Worker __s32 resolution; 48*8d67ca89SAndroid Build Coastguard Worker }; 49*8d67ca89SAndroid Build Coastguard Worker struct input_keymap_entry { 50*8d67ca89SAndroid Build Coastguard Worker #define INPUT_KEYMAP_BY_INDEX (1 << 0) 51*8d67ca89SAndroid Build Coastguard Worker __u8 flags; 52*8d67ca89SAndroid Build Coastguard Worker __u8 len; 53*8d67ca89SAndroid Build Coastguard Worker __u16 index; 54*8d67ca89SAndroid Build Coastguard Worker __u32 keycode; 55*8d67ca89SAndroid Build Coastguard Worker __u8 scancode[32]; 56*8d67ca89SAndroid Build Coastguard Worker }; 57*8d67ca89SAndroid Build Coastguard Worker struct input_mask { 58*8d67ca89SAndroid Build Coastguard Worker __u32 type; 59*8d67ca89SAndroid Build Coastguard Worker __u32 codes_size; 60*8d67ca89SAndroid Build Coastguard Worker __u64 codes_ptr; 61*8d67ca89SAndroid Build Coastguard Worker }; 62*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGVERSION _IOR('E', 0x01, int) 63*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGID _IOR('E', 0x02, struct input_id) 64*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) 65*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) 66*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2]) 67*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry) 68*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2]) 69*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry) 70*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) 71*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) 72*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) 73*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGPROP(len) _IOC(_IOC_READ, 'E', 0x09, len) 74*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGMTSLOTS(len) _IOC(_IOC_READ, 'E', 0x0a, len) 75*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) 76*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) 77*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len) 78*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) 79*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + (ev), len) 80*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGABS(abs) _IOR('E', 0x40 + (abs), struct input_absinfo) 81*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSABS(abs) _IOW('E', 0xc0 + (abs), struct input_absinfo) 82*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSFF _IOW('E', 0x80, struct ff_effect) 83*8d67ca89SAndroid Build Coastguard Worker #define EVIOCRMFF _IOW('E', 0x81, int) 84*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGEFFECTS _IOR('E', 0x84, int) 85*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGRAB _IOW('E', 0x90, int) 86*8d67ca89SAndroid Build Coastguard Worker #define EVIOCREVOKE _IOW('E', 0x91, int) 87*8d67ca89SAndroid Build Coastguard Worker #define EVIOCGMASK _IOR('E', 0x92, struct input_mask) 88*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSMASK _IOW('E', 0x93, struct input_mask) 89*8d67ca89SAndroid Build Coastguard Worker #define EVIOCSCLOCKID _IOW('E', 0xa0, int) 90*8d67ca89SAndroid Build Coastguard Worker #define ID_BUS 0 91*8d67ca89SAndroid Build Coastguard Worker #define ID_VENDOR 1 92*8d67ca89SAndroid Build Coastguard Worker #define ID_PRODUCT 2 93*8d67ca89SAndroid Build Coastguard Worker #define ID_VERSION 3 94*8d67ca89SAndroid Build Coastguard Worker #define BUS_PCI 0x01 95*8d67ca89SAndroid Build Coastguard Worker #define BUS_ISAPNP 0x02 96*8d67ca89SAndroid Build Coastguard Worker #define BUS_USB 0x03 97*8d67ca89SAndroid Build Coastguard Worker #define BUS_HIL 0x04 98*8d67ca89SAndroid Build Coastguard Worker #define BUS_BLUETOOTH 0x05 99*8d67ca89SAndroid Build Coastguard Worker #define BUS_VIRTUAL 0x06 100*8d67ca89SAndroid Build Coastguard Worker #define BUS_ISA 0x10 101*8d67ca89SAndroid Build Coastguard Worker #define BUS_I8042 0x11 102*8d67ca89SAndroid Build Coastguard Worker #define BUS_XTKBD 0x12 103*8d67ca89SAndroid Build Coastguard Worker #define BUS_RS232 0x13 104*8d67ca89SAndroid Build Coastguard Worker #define BUS_GAMEPORT 0x14 105*8d67ca89SAndroid Build Coastguard Worker #define BUS_PARPORT 0x15 106*8d67ca89SAndroid Build Coastguard Worker #define BUS_AMIGA 0x16 107*8d67ca89SAndroid Build Coastguard Worker #define BUS_ADB 0x17 108*8d67ca89SAndroid Build Coastguard Worker #define BUS_I2C 0x18 109*8d67ca89SAndroid Build Coastguard Worker #define BUS_HOST 0x19 110*8d67ca89SAndroid Build Coastguard Worker #define BUS_GSC 0x1A 111*8d67ca89SAndroid Build Coastguard Worker #define BUS_ATARI 0x1B 112*8d67ca89SAndroid Build Coastguard Worker #define BUS_SPI 0x1C 113*8d67ca89SAndroid Build Coastguard Worker #define BUS_RMI 0x1D 114*8d67ca89SAndroid Build Coastguard Worker #define BUS_CEC 0x1E 115*8d67ca89SAndroid Build Coastguard Worker #define BUS_INTEL_ISHTP 0x1F 116*8d67ca89SAndroid Build Coastguard Worker #define BUS_AMD_SFH 0x20 117*8d67ca89SAndroid Build Coastguard Worker #define MT_TOOL_FINGER 0x00 118*8d67ca89SAndroid Build Coastguard Worker #define MT_TOOL_PEN 0x01 119*8d67ca89SAndroid Build Coastguard Worker #define MT_TOOL_PALM 0x02 120*8d67ca89SAndroid Build Coastguard Worker #define MT_TOOL_DIAL 0x0a 121*8d67ca89SAndroid Build Coastguard Worker #define MT_TOOL_MAX 0x0f 122*8d67ca89SAndroid Build Coastguard Worker #define FF_STATUS_STOPPED 0x00 123*8d67ca89SAndroid Build Coastguard Worker #define FF_STATUS_PLAYING 0x01 124*8d67ca89SAndroid Build Coastguard Worker #define FF_STATUS_MAX 0x01 125*8d67ca89SAndroid Build Coastguard Worker struct ff_replay { 126*8d67ca89SAndroid Build Coastguard Worker __u16 length; 127*8d67ca89SAndroid Build Coastguard Worker __u16 delay; 128*8d67ca89SAndroid Build Coastguard Worker }; 129*8d67ca89SAndroid Build Coastguard Worker struct ff_trigger { 130*8d67ca89SAndroid Build Coastguard Worker __u16 button; 131*8d67ca89SAndroid Build Coastguard Worker __u16 interval; 132*8d67ca89SAndroid Build Coastguard Worker }; 133*8d67ca89SAndroid Build Coastguard Worker struct ff_envelope { 134*8d67ca89SAndroid Build Coastguard Worker __u16 attack_length; 135*8d67ca89SAndroid Build Coastguard Worker __u16 attack_level; 136*8d67ca89SAndroid Build Coastguard Worker __u16 fade_length; 137*8d67ca89SAndroid Build Coastguard Worker __u16 fade_level; 138*8d67ca89SAndroid Build Coastguard Worker }; 139*8d67ca89SAndroid Build Coastguard Worker struct ff_constant_effect { 140*8d67ca89SAndroid Build Coastguard Worker __s16 level; 141*8d67ca89SAndroid Build Coastguard Worker struct ff_envelope envelope; 142*8d67ca89SAndroid Build Coastguard Worker }; 143*8d67ca89SAndroid Build Coastguard Worker struct ff_ramp_effect { 144*8d67ca89SAndroid Build Coastguard Worker __s16 start_level; 145*8d67ca89SAndroid Build Coastguard Worker __s16 end_level; 146*8d67ca89SAndroid Build Coastguard Worker struct ff_envelope envelope; 147*8d67ca89SAndroid Build Coastguard Worker }; 148*8d67ca89SAndroid Build Coastguard Worker struct ff_condition_effect { 149*8d67ca89SAndroid Build Coastguard Worker __u16 right_saturation; 150*8d67ca89SAndroid Build Coastguard Worker __u16 left_saturation; 151*8d67ca89SAndroid Build Coastguard Worker __s16 right_coeff; 152*8d67ca89SAndroid Build Coastguard Worker __s16 left_coeff; 153*8d67ca89SAndroid Build Coastguard Worker __u16 deadband; 154*8d67ca89SAndroid Build Coastguard Worker __s16 center; 155*8d67ca89SAndroid Build Coastguard Worker }; 156*8d67ca89SAndroid Build Coastguard Worker struct ff_periodic_effect { 157*8d67ca89SAndroid Build Coastguard Worker __u16 waveform; 158*8d67ca89SAndroid Build Coastguard Worker __u16 period; 159*8d67ca89SAndroid Build Coastguard Worker __s16 magnitude; 160*8d67ca89SAndroid Build Coastguard Worker __s16 offset; 161*8d67ca89SAndroid Build Coastguard Worker __u16 phase; 162*8d67ca89SAndroid Build Coastguard Worker struct ff_envelope envelope; 163*8d67ca89SAndroid Build Coastguard Worker __u32 custom_len; 164*8d67ca89SAndroid Build Coastguard Worker __s16 * custom_data; 165*8d67ca89SAndroid Build Coastguard Worker }; 166*8d67ca89SAndroid Build Coastguard Worker struct ff_rumble_effect { 167*8d67ca89SAndroid Build Coastguard Worker __u16 strong_magnitude; 168*8d67ca89SAndroid Build Coastguard Worker __u16 weak_magnitude; 169*8d67ca89SAndroid Build Coastguard Worker }; 170*8d67ca89SAndroid Build Coastguard Worker struct ff_effect { 171*8d67ca89SAndroid Build Coastguard Worker __u16 type; 172*8d67ca89SAndroid Build Coastguard Worker __s16 id; 173*8d67ca89SAndroid Build Coastguard Worker __u16 direction; 174*8d67ca89SAndroid Build Coastguard Worker struct ff_trigger trigger; 175*8d67ca89SAndroid Build Coastguard Worker struct ff_replay replay; 176*8d67ca89SAndroid Build Coastguard Worker union { 177*8d67ca89SAndroid Build Coastguard Worker struct ff_constant_effect constant; 178*8d67ca89SAndroid Build Coastguard Worker struct ff_ramp_effect ramp; 179*8d67ca89SAndroid Build Coastguard Worker struct ff_periodic_effect periodic; 180*8d67ca89SAndroid Build Coastguard Worker struct ff_condition_effect condition[2]; 181*8d67ca89SAndroid Build Coastguard Worker struct ff_rumble_effect rumble; 182*8d67ca89SAndroid Build Coastguard Worker } u; 183*8d67ca89SAndroid Build Coastguard Worker }; 184*8d67ca89SAndroid Build Coastguard Worker #define FF_RUMBLE 0x50 185*8d67ca89SAndroid Build Coastguard Worker #define FF_PERIODIC 0x51 186*8d67ca89SAndroid Build Coastguard Worker #define FF_CONSTANT 0x52 187*8d67ca89SAndroid Build Coastguard Worker #define FF_SPRING 0x53 188*8d67ca89SAndroid Build Coastguard Worker #define FF_FRICTION 0x54 189*8d67ca89SAndroid Build Coastguard Worker #define FF_DAMPER 0x55 190*8d67ca89SAndroid Build Coastguard Worker #define FF_INERTIA 0x56 191*8d67ca89SAndroid Build Coastguard Worker #define FF_RAMP 0x57 192*8d67ca89SAndroid Build Coastguard Worker #define FF_EFFECT_MIN FF_RUMBLE 193*8d67ca89SAndroid Build Coastguard Worker #define FF_EFFECT_MAX FF_RAMP 194*8d67ca89SAndroid Build Coastguard Worker #define FF_SQUARE 0x58 195*8d67ca89SAndroid Build Coastguard Worker #define FF_TRIANGLE 0x59 196*8d67ca89SAndroid Build Coastguard Worker #define FF_SINE 0x5a 197*8d67ca89SAndroid Build Coastguard Worker #define FF_SAW_UP 0x5b 198*8d67ca89SAndroid Build Coastguard Worker #define FF_SAW_DOWN 0x5c 199*8d67ca89SAndroid Build Coastguard Worker #define FF_CUSTOM 0x5d 200*8d67ca89SAndroid Build Coastguard Worker #define FF_WAVEFORM_MIN FF_SQUARE 201*8d67ca89SAndroid Build Coastguard Worker #define FF_WAVEFORM_MAX FF_CUSTOM 202*8d67ca89SAndroid Build Coastguard Worker #define FF_GAIN 0x60 203*8d67ca89SAndroid Build Coastguard Worker #define FF_AUTOCENTER 0x61 204*8d67ca89SAndroid Build Coastguard Worker #define FF_MAX_EFFECTS FF_GAIN 205*8d67ca89SAndroid Build Coastguard Worker #define FF_MAX 0x7f 206*8d67ca89SAndroid Build Coastguard Worker #define FF_CNT (FF_MAX + 1) 207*8d67ca89SAndroid Build Coastguard Worker #endif 208