diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/input.h | 3 | ||||
| -rw-r--r-- | include/linux/input/mt.h | 13 |
2 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/input.h b/include/linux/input.h index 99e2a52c0509..6de145df4c1c 100644 --- a/include/linux/input.h +++ b/include/linux/input.h | |||
| @@ -848,6 +848,7 @@ struct input_keymap_entry { | |||
| 848 | */ | 848 | */ |
| 849 | #define MT_TOOL_FINGER 0 | 849 | #define MT_TOOL_FINGER 0 |
| 850 | #define MT_TOOL_PEN 1 | 850 | #define MT_TOOL_PEN 1 |
| 851 | #define MT_TOOL_MAX 1 | ||
| 851 | 852 | ||
| 852 | /* | 853 | /* |
| 853 | * Values describing the status of a force-feedback effect | 854 | * Values describing the status of a force-feedback effect |
| @@ -1122,6 +1123,7 @@ struct ff_effect { | |||
| 1122 | * of tracked contacts | 1123 | * of tracked contacts |
| 1123 | * @mtsize: number of MT slots the device uses | 1124 | * @mtsize: number of MT slots the device uses |
| 1124 | * @slot: MT slot currently being transmitted | 1125 | * @slot: MT slot currently being transmitted |
| 1126 | * @trkid: stores MT tracking ID for the current contact | ||
| 1125 | * @absinfo: array of &struct absinfo elements holding information | 1127 | * @absinfo: array of &struct absinfo elements holding information |
| 1126 | * about absolute axes (current value, min, max, flat, fuzz, | 1128 | * about absolute axes (current value, min, max, flat, fuzz, |
| 1127 | * resolution) | 1129 | * resolution) |
| @@ -1206,6 +1208,7 @@ struct input_dev { | |||
| 1206 | struct input_mt_slot *mt; | 1208 | struct input_mt_slot *mt; |
| 1207 | int mtsize; | 1209 | int mtsize; |
| 1208 | int slot; | 1210 | int slot; |
| 1211 | int trkid; | ||
| 1209 | 1212 | ||
| 1210 | struct input_absinfo *absinfo; | 1213 | struct input_absinfo *absinfo; |
| 1211 | 1214 | ||
diff --git a/include/linux/input/mt.h b/include/linux/input/mt.h index d7f6518e3222..b3ac06a4435d 100644 --- a/include/linux/input/mt.h +++ b/include/linux/input/mt.h | |||
| @@ -13,6 +13,8 @@ | |||
| 13 | 13 | ||
| 14 | #include <linux/input.h> | 14 | #include <linux/input.h> |
| 15 | 15 | ||
| 16 | #define TRKID_MAX 0xffff | ||
| 17 | |||
| 16 | /** | 18 | /** |
| 17 | * struct input_mt_slot - represents the state of an input MT slot | 19 | * struct input_mt_slot - represents the state of an input MT slot |
| 18 | * @abs: holds current values of ABS_MT axes for this slot | 20 | * @abs: holds current values of ABS_MT axes for this slot |
| @@ -36,9 +38,20 @@ static inline int input_mt_get_value(const struct input_mt_slot *slot, | |||
| 36 | int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots); | 38 | int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots); |
| 37 | void input_mt_destroy_slots(struct input_dev *dev); | 39 | void input_mt_destroy_slots(struct input_dev *dev); |
| 38 | 40 | ||
| 41 | static inline int input_mt_new_trkid(struct input_dev *dev) | ||
| 42 | { | ||
| 43 | return dev->trkid++ & TRKID_MAX; | ||
| 44 | } | ||
| 45 | |||
| 39 | static inline void input_mt_slot(struct input_dev *dev, int slot) | 46 | static inline void input_mt_slot(struct input_dev *dev, int slot) |
| 40 | { | 47 | { |
| 41 | input_event(dev, EV_ABS, ABS_MT_SLOT, slot); | 48 | input_event(dev, EV_ABS, ABS_MT_SLOT, slot); |
| 42 | } | 49 | } |
| 43 | 50 | ||
| 51 | void input_mt_report_slot_state(struct input_dev *dev, | ||
| 52 | unsigned int tool_type, bool active); | ||
| 53 | |||
| 54 | void input_mt_report_finger_count(struct input_dev *dev, int count); | ||
| 55 | void input_mt_report_pointer_emulation(struct input_dev *dev, bool use_count); | ||
| 56 | |||
| 44 | #endif | 57 | #endif |
