aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/input.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/input.h')
-rw-r--r--include/linux/input.h33
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 */
50struct input_absinfo { 69struct 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