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