xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/linux/input.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
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