diff options
Diffstat (limited to 'include/linux/input.h')
-rw-r--r-- | include/linux/input.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/include/linux/input.h b/include/linux/input.h index 4bdacada8d2a..e428382ca28a 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
@@ -47,6 +47,25 @@ struct input_id { | |||
47 | __u16 version; | 47 | __u16 version; |
48 | }; | 48 | }; |
49 | 49 | ||
50 | /** | ||
51 | * struct input_absinfo - used by EVIOCGABS/EVIOCSABS ioctls | ||
52 | * @value: latest reported value for the axis. | ||
53 | * @minimum: specifies minimum value for the axis. | ||
54 | * @maximum: specifies maximum value for the axis. | ||
55 | * @fuzz: specifies fuzz value that is used to filter noise from | ||
56 | * the event stream. | ||
57 | * @flat: values that are within this value will be discarded by | ||
58 | * joydev interface and reported as 0 instead. | ||
59 | * @resolution: specifies resolution for the values reported for | ||
60 | * the axis. | ||
61 | * | ||
62 | * Note that input core does not clamp reported values to the | ||
63 | * [minimum, maximum] limits, such task is left to userspace. | ||
64 | * | ||
65 | * Resolution for main axes (ABS_X, ABS_Y, ABS_Z) is reported in | ||
66 | * units per millimeter (units/mm), resolution for rotational axes | ||
67 | * (ABS_RX, ABS_RY, ABS_RZ) is reported in units per radian. | ||
68 | */ | ||
50 | struct input_absinfo { | 69 | struct input_absinfo { |
51 | __s32 value; | 70 | __s32 value; |
52 | __s32 minimum; | 71 | __s32 minimum; |
@@ -85,8 +104,10 @@ struct input_keymap_entry { | |||
85 | #define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) /* get repeat settings */ | 104 | #define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) /* get repeat settings */ |
86 | #define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) /* set repeat settings */ | 105 | #define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) /* set repeat settings */ |
87 | 106 | ||
88 | #define EVIOCGKEYCODE _IOR('E', 0x04, struct input_keymap_entry) /* get keycode */ | 107 | #define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2]) /* get keycode */ |
89 | #define EVIOCSKEYCODE _IOW('E', 0x04, struct input_keymap_entry) /* set keycode */ | 108 | #define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry) |
109 | #define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2]) /* set keycode */ | ||
110 | #define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry) | ||
90 | 111 | ||
91 | #define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) /* get device name */ | 112 | #define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) /* get device name */ |
92 | #define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) /* get physical location */ | 113 | #define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) /* get physical location */ |
@@ -582,6 +603,8 @@ struct input_keymap_entry { | |||
582 | #define KEY_FRAMEFORWARD 0x1b5 | 603 | #define KEY_FRAMEFORWARD 0x1b5 |
583 | #define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */ | 604 | #define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */ |
584 | #define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */ | 605 | #define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */ |
606 | #define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */ | ||
607 | #define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */ | ||
585 | 608 | ||
586 | #define KEY_DEL_EOL 0x1c0 | 609 | #define KEY_DEL_EOL 0x1c0 |
587 | #define KEY_DEL_EOS 0x1c1 | 610 | #define KEY_DEL_EOS 0x1c1 |
@@ -637,6 +660,10 @@ struct input_keymap_entry { | |||
637 | #define KEY_CAMERA_FOCUS 0x210 | 660 | #define KEY_CAMERA_FOCUS 0x210 |
638 | #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ | 661 | #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ |
639 | 662 | ||
663 | #define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */ | ||
664 | #define KEY_TOUCHPAD_ON 0x213 | ||
665 | #define KEY_TOUCHPAD_OFF 0x214 | ||
666 | |||
640 | #define BTN_TRIGGER_HAPPY 0x2c0 | 667 | #define BTN_TRIGGER_HAPPY 0x2c0 |
641 | #define BTN_TRIGGER_HAPPY1 0x2c0 | 668 | #define BTN_TRIGGER_HAPPY1 0x2c0 |
642 | #define BTN_TRIGGER_HAPPY2 0x2c1 | 669 | #define BTN_TRIGGER_HAPPY2 0x2c1 |
@@ -1140,7 +1167,7 @@ struct ff_effect { | |||
1140 | * @mtsize: number of MT slots the device uses | 1167 | * @mtsize: number of MT slots the device uses |
1141 | * @slot: MT slot currently being transmitted | 1168 | * @slot: MT slot currently being transmitted |
1142 | * @trkid: stores MT tracking ID for the current contact | 1169 | * @trkid: stores MT tracking ID for the current contact |
1143 | * @absinfo: array of &struct absinfo elements holding information | 1170 | * @absinfo: array of &struct input_absinfo elements holding information |
1144 | * about absolute axes (current value, min, max, flat, fuzz, | 1171 | * about absolute axes (current value, min, max, flat, fuzz, |
1145 | * resolution) | 1172 | * resolution) |
1146 | * @key: reflects current state of device's keys/buttons | 1173 | * @key: reflects current state of device's keys/buttons |