xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/joystick.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
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_LINUX_JOYSTICK_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_JOYSTICK_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/input.h>
11*8d67ca89SAndroid Build Coastguard Worker #define JS_VERSION 0x020100
12*8d67ca89SAndroid Build Coastguard Worker #define JS_EVENT_BUTTON 0x01
13*8d67ca89SAndroid Build Coastguard Worker #define JS_EVENT_AXIS 0x02
14*8d67ca89SAndroid Build Coastguard Worker #define JS_EVENT_INIT 0x80
15*8d67ca89SAndroid Build Coastguard Worker struct js_event {
16*8d67ca89SAndroid Build Coastguard Worker   __u32 time;
17*8d67ca89SAndroid Build Coastguard Worker   __s16 value;
18*8d67ca89SAndroid Build Coastguard Worker   __u8 type;
19*8d67ca89SAndroid Build Coastguard Worker   __u8 number;
20*8d67ca89SAndroid Build Coastguard Worker };
21*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGVERSION _IOR('j', 0x01, __u32)
22*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGAXES _IOR('j', 0x11, __u8)
23*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGBUTTONS _IOR('j', 0x12, __u8)
24*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len)
25*8d67ca89SAndroid Build Coastguard Worker #define JSIOCSCORR _IOW('j', 0x21, struct js_corr)
26*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGCORR _IOR('j', 0x22, struct js_corr)
27*8d67ca89SAndroid Build Coastguard Worker #define JSIOCSAXMAP _IOW('j', 0x31, __u8[ABS_CNT])
28*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGAXMAP _IOR('j', 0x32, __u8[ABS_CNT])
29*8d67ca89SAndroid Build Coastguard Worker #define JSIOCSBTNMAP _IOW('j', 0x33, __u16[KEY_MAX - BTN_MISC + 1])
30*8d67ca89SAndroid Build Coastguard Worker #define JSIOCGBTNMAP _IOR('j', 0x34, __u16[KEY_MAX - BTN_MISC + 1])
31*8d67ca89SAndroid Build Coastguard Worker #define JS_CORR_NONE 0x00
32*8d67ca89SAndroid Build Coastguard Worker #define JS_CORR_BROKEN 0x01
33*8d67ca89SAndroid Build Coastguard Worker struct js_corr {
34*8d67ca89SAndroid Build Coastguard Worker   __s32 coef[8];
35*8d67ca89SAndroid Build Coastguard Worker   __s16 prec;
36*8d67ca89SAndroid Build Coastguard Worker   __u16 type;
37*8d67ca89SAndroid Build Coastguard Worker };
38*8d67ca89SAndroid Build Coastguard Worker #define JS_RETURN sizeof(struct JS_DATA_TYPE)
39*8d67ca89SAndroid Build Coastguard Worker #define JS_TRUE 1
40*8d67ca89SAndroid Build Coastguard Worker #define JS_FALSE 0
41*8d67ca89SAndroid Build Coastguard Worker #define JS_X_0 0x01
42*8d67ca89SAndroid Build Coastguard Worker #define JS_Y_0 0x02
43*8d67ca89SAndroid Build Coastguard Worker #define JS_X_1 0x04
44*8d67ca89SAndroid Build Coastguard Worker #define JS_Y_1 0x08
45*8d67ca89SAndroid Build Coastguard Worker #define JS_MAX 2
46*8d67ca89SAndroid Build Coastguard Worker #define JS_DEF_TIMEOUT 0x1300
47*8d67ca89SAndroid Build Coastguard Worker #define JS_DEF_CORR 0
48*8d67ca89SAndroid Build Coastguard Worker #define JS_DEF_TIMELIMIT 10L
49*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_CAL 1
50*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_CAL 2
51*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_TIMEOUT 3
52*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_TIMEOUT 4
53*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_TIMELIMIT 5
54*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_TIMELIMIT 6
55*8d67ca89SAndroid Build Coastguard Worker #define JS_GET_ALL 7
56*8d67ca89SAndroid Build Coastguard Worker #define JS_SET_ALL 8
57*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_TYPE {
58*8d67ca89SAndroid Build Coastguard Worker   __s32 buttons;
59*8d67ca89SAndroid Build Coastguard Worker   __s32 x;
60*8d67ca89SAndroid Build Coastguard Worker   __s32 y;
61*8d67ca89SAndroid Build Coastguard Worker };
62*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_SAVE_TYPE_32 {
63*8d67ca89SAndroid Build Coastguard Worker   __s32 JS_TIMEOUT;
64*8d67ca89SAndroid Build Coastguard Worker   __s32 BUSY;
65*8d67ca89SAndroid Build Coastguard Worker   __s32 JS_EXPIRETIME;
66*8d67ca89SAndroid Build Coastguard Worker   __s32 JS_TIMELIMIT;
67*8d67ca89SAndroid Build Coastguard Worker   struct JS_DATA_TYPE JS_SAVE;
68*8d67ca89SAndroid Build Coastguard Worker   struct JS_DATA_TYPE JS_CORR;
69*8d67ca89SAndroid Build Coastguard Worker };
70*8d67ca89SAndroid Build Coastguard Worker struct JS_DATA_SAVE_TYPE_64 {
71*8d67ca89SAndroid Build Coastguard Worker   __s32 JS_TIMEOUT;
72*8d67ca89SAndroid Build Coastguard Worker   __s32 BUSY;
73*8d67ca89SAndroid Build Coastguard Worker   __s64 JS_EXPIRETIME;
74*8d67ca89SAndroid Build Coastguard Worker   __s64 JS_TIMELIMIT;
75*8d67ca89SAndroid Build Coastguard Worker   struct JS_DATA_TYPE JS_SAVE;
76*8d67ca89SAndroid Build Coastguard Worker   struct JS_DATA_TYPE JS_CORR;
77*8d67ca89SAndroid Build Coastguard Worker };
78*8d67ca89SAndroid Build Coastguard Worker #endif
79