Commit 5f66872c authored by Andrew Shadura's avatar Andrew Shadura Committed by Jiri Kosina

HID: penmount: report only one button for PenMount 6000 USB touchscreen controller

PenMount 6000 USB resistive touchscreen controller reports it has three
buttons, while in reality it doesn't have any and doesn't support active
styli, and only generates touch events.

In penmount_input_mapping(), map only the first button (with code 0),
ignore the rest.
Signed-off-by: default avatarAndrew Shadura <andrew.shadura@collabora.co.uk>
Tested-by: Christian Gmeiner <c.gmeiner@bachmann.info
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent c2848f2e
...@@ -23,8 +23,12 @@ static int penmount_input_mapping(struct hid_device *hdev, ...@@ -23,8 +23,12 @@ static int penmount_input_mapping(struct hid_device *hdev,
struct hid_usage *usage, unsigned long **bit, int *max) struct hid_usage *usage, unsigned long **bit, int *max)
{ {
if ((usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON) { if ((usage->hid & HID_USAGE_PAGE) == HID_UP_BUTTON) {
hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH); if (((usage->hid - 1) & HID_USAGE) == 0) {
return 1; hid_map_usage(hi, usage, bit, max, EV_KEY, BTN_TOUCH);
return 1;
} else {
return -1;
}
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment