summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-stantum.c
diff options
context:
space:
mode:
authorStephane Chatty <chatty@lii-enac.fr>2010-02-06 15:20:03 +0100
committerJiri Kosina <jkosina@suse.cz>2010-02-10 12:12:43 +0100
commit580363db92572cccbe6226bf83321e50a9ea50ea (patch)
treee3057530e4b8693a974282eb016c372db9ae19c1 /drivers/hid/hid-stantum.c
parentb32758c7216f337044ceb6dcaa754b8eda95a59f (diff)
downloadblackbird-op-linux-580363db92572cccbe6226bf83321e50a9ea50ea.tar.gz
blackbird-op-linux-580363db92572cccbe6226bf83321e50a9ea50ea.zip
HID: add pressure support for the Stantum multitouch panel
Added pressure handling for Stantum multitouch panels Signed-off-by: Stephane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-stantum.c')
-rw-r--r--drivers/hid/hid-stantum.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/hid/hid-stantum.c b/drivers/hid/hid-stantum.c
index 1b7b1659e7bb..04b0b986f5f4 100644
--- a/drivers/hid/hid-stantum.c
+++ b/drivers/hid/hid-stantum.c
@@ -66,7 +66,6 @@ static int stantum_input_mapping(struct hid_device *hdev, struct hid_input *hi,
case HID_DG_DEVICEINDEX:
case HID_DG_CONTACTCOUNT:
case HID_DG_CONTACTMAX:
- case HID_DG_TIPPRESSURE:
return -1;
case HID_DG_TIPSWITCH:
@@ -84,6 +83,11 @@ static int stantum_input_mapping(struct hid_device *hdev, struct hid_input *hi,
input_set_abs_params(hi->input, ABS_MT_ORIENTATION,
1, 1, 0, 0);
return 1;
+ case HID_DG_TIPPRESSURE:
+ hid_map_usage(hi, usage, bit, max,
+ EV_ABS, ABS_MT_PRESSURE);
+ return 1;
+
case HID_DG_CONTACTID:
hid_map_usage(hi, usage, bit, max,
EV_ABS, ABS_MT_TRACKING_ID);
@@ -140,10 +144,7 @@ static void stantum_filter_event(struct stantum_data *sd,
input_event(input, EV_ABS, ABS_MT_TOUCH_MAJOR, wide ? sd->w : sd->h);
input_event(input, EV_ABS, ABS_MT_TOUCH_MINOR, wide ? sd->h : sd->w);
-#if 0
- /* MT_PRESSURE does not exist yet */
input_event(input, EV_ABS, ABS_MT_PRESSURE, sd->z);
-#endif
input_mt_sync(input);
sd->valid = false;
OpenPOWER on IntegriCloud