aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/input.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2010-12-27 20:33:20 -0500
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-12-27 20:33:20 -0500
commit5c461b913a16aed8afa285a1d00414791a9afe33 (patch)
tree95c7d32fcb899240e8bc5ab5bfac20d259a81b46 /include/linux/input.h
parentef11e701f32fb0cd5c5f0f6fb9a9e28fab151219 (diff)
parent4f56ce929cab45a3a6e1a81700da52bb9bdbfc0f (diff)
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rydberg/input-mt into next
Diffstat (limited to 'include/linux/input.h')
-rw-r--r--include/linux/input.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/input.h b/include/linux/input.h
index 53f873e8556c..6c407e553a40 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -91,6 +91,7 @@ struct input_keymap_entry {
91#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) /* get device name */ 91#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 */ 92#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) /* get physical location */
93#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) /* get unique identifier */ 93#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) /* get unique identifier */
94#define EVIOCGPROP(len) _IOC(_IOC_READ, 'E', 0x09, len) /* get device properties */
94 95
95#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) /* get global key state */ 96#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) /* get global key state */
96#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) /* get all LEDs */ 97#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) /* get all LEDs */
@@ -108,6 +109,18 @@ struct input_keymap_entry {
108#define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */ 109#define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */
109 110
110/* 111/*
112 * Device properties and quirks
113 */
114
115#define INPUT_PROP_POINTER 0x00 /* needs a pointer */
116#define INPUT_PROP_DIRECT 0x01 /* direct input devices */
117#define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */
118#define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */
119
120#define INPUT_PROP_MAX 0x1f
121#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1)
122
123/*
111 * Event types 124 * Event types
112 */ 125 */
113 126
@@ -1090,6 +1103,7 @@ struct ff_effect {
1090 * @phys: physical path to the device in the system hierarchy 1103 * @phys: physical path to the device in the system hierarchy
1091 * @uniq: unique identification code for the device (if device has it) 1104 * @uniq: unique identification code for the device (if device has it)
1092 * @id: id of the device (struct input_id) 1105 * @id: id of the device (struct input_id)
1106 * @propbit: bitmap of device properties and quirks
1093 * @evbit: bitmap of types of events supported by the device (EV_KEY, 1107 * @evbit: bitmap of types of events supported by the device (EV_KEY,
1094 * EV_REL, etc.) 1108 * EV_REL, etc.)
1095 * @keybit: bitmap of keys/buttons this device has 1109 * @keybit: bitmap of keys/buttons this device has
@@ -1173,6 +1187,8 @@ struct input_dev {
1173 const char *uniq; 1187 const char *uniq;
1174 struct input_id id; 1188 struct input_id id;
1175 1189
1190 unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)];
1191
1176 unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; 1192 unsigned long evbit[BITS_TO_LONGS(EV_CNT)];
1177 unsigned long keybit[BITS_TO_LONGS(KEY_CNT)]; 1193 unsigned long keybit[BITS_TO_LONGS(KEY_CNT)];
1178 unsigned long relbit[BITS_TO_LONGS(REL_CNT)]; 1194 unsigned long relbit[BITS_TO_LONGS(REL_CNT)];