Elliott Hughes | 180edef | 2023-11-02 00:08:05 +0000 | [diff] [blame^] | 1 | /* |
| 2 | * This file is auto-generated. Modifications will be lost. |
| 3 | * |
| 4 | * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ |
| 5 | * for more information. |
| 6 | */ |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 7 | #ifndef _UAPI_LINUX_JOYSTICK_H |
| 8 | #define _UAPI_LINUX_JOYSTICK_H |
| 9 | #include <linux/types.h> |
| 10 | #include <linux/input.h> |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 11 | #define JS_VERSION 0x020100 |
| 12 | #define JS_EVENT_BUTTON 0x01 |
| 13 | #define JS_EVENT_AXIS 0x02 |
| 14 | #define JS_EVENT_INIT 0x80 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 15 | struct js_event { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 16 | __u32 time; |
| 17 | __s16 value; |
| 18 | __u8 type; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 19 | __u8 number; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 20 | }; |
| 21 | #define JSIOCGVERSION _IOR('j', 0x01, __u32) |
| 22 | #define JSIOCGAXES _IOR('j', 0x11, __u8) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 23 | #define JSIOCGBUTTONS _IOR('j', 0x12, __u8) |
| 24 | #define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len) |
| 25 | #define JSIOCSCORR _IOW('j', 0x21, struct js_corr) |
| 26 | #define JSIOCGCORR _IOR('j', 0x22, struct js_corr) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 27 | #define JSIOCSAXMAP _IOW('j', 0x31, __u8[ABS_CNT]) |
| 28 | #define JSIOCGAXMAP _IOR('j', 0x32, __u8[ABS_CNT]) |
| 29 | #define JSIOCSBTNMAP _IOW('j', 0x33, __u16[KEY_MAX - BTN_MISC + 1]) |
| 30 | #define JSIOCGBTNMAP _IOR('j', 0x34, __u16[KEY_MAX - BTN_MISC + 1]) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 31 | #define JS_CORR_NONE 0x00 |
| 32 | #define JS_CORR_BROKEN 0x01 |
| 33 | struct js_corr { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 34 | __s32 coef[8]; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 35 | __s16 prec; |
| 36 | __u16 type; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 37 | }; |
| 38 | #define JS_RETURN sizeof(struct JS_DATA_TYPE) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 39 | #define JS_TRUE 1 |
| 40 | #define JS_FALSE 0 |
| 41 | #define JS_X_0 0x01 |
| 42 | #define JS_Y_0 0x02 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 43 | #define JS_X_1 0x04 |
| 44 | #define JS_Y_1 0x08 |
| 45 | #define JS_MAX 2 |
| 46 | #define JS_DEF_TIMEOUT 0x1300 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 47 | #define JS_DEF_CORR 0 |
| 48 | #define JS_DEF_TIMELIMIT 10L |
| 49 | #define JS_SET_CAL 1 |
| 50 | #define JS_GET_CAL 2 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 51 | #define JS_SET_TIMEOUT 3 |
| 52 | #define JS_GET_TIMEOUT 4 |
| 53 | #define JS_SET_TIMELIMIT 5 |
| 54 | #define JS_GET_TIMELIMIT 6 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 55 | #define JS_GET_ALL 7 |
| 56 | #define JS_SET_ALL 8 |
| 57 | struct JS_DATA_TYPE { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 58 | __s32 buttons; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 59 | __s32 x; |
| 60 | __s32 y; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 61 | }; |
| 62 | struct JS_DATA_SAVE_TYPE_32 { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 63 | __s32 JS_TIMEOUT; |
| 64 | __s32 BUSY; |
| 65 | __s32 JS_EXPIRETIME; |
| 66 | __s32 JS_TIMELIMIT; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 67 | struct JS_DATA_TYPE JS_SAVE; |
| 68 | struct JS_DATA_TYPE JS_CORR; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 69 | }; |
| 70 | struct JS_DATA_SAVE_TYPE_64 { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 71 | __s32 JS_TIMEOUT; |
| 72 | __s32 BUSY; |
| 73 | __s64 JS_EXPIRETIME; |
| 74 | __s64 JS_TIMELIMIT; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 75 | struct JS_DATA_TYPE JS_SAVE; |
| 76 | struct JS_DATA_TYPE JS_CORR; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 77 | }; |
| 78 | #endif |