diff options
author | Jason Gerecke <killertofu@gmail.com> | 2018-06-12 16:42:46 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2018-06-20 03:27:23 -0400 |
commit | d471b6b22d37bf9928c6d0202bdaaf76583b8b61 (patch) | |
tree | abc16189e2bb1e170181c5f3a3fca455179c8a21 | |
parent | ebeaa367548e9e92dd9374b9464ff6e7d157117b (diff) |
HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large
The HID descriptor for the 2nd-gen Intuos Pro large (PTH-860) contains
a typo which defines an incorrect logical maximum Y value. This causes
a small portion of the bottom of the tablet to become unusable (both
because the area is below the "bottom" of the tablet and because
'wacom_wac_event' ignores out-of-range values). It also results in a
skewed aspect ratio.
To fix this, we add a quirk to 'wacom_usage_mapping' which overwrites
the data with the correct value.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
CC: stable@vger.kernel.org # v4.10+
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/wacom_sys.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c index ee7a37eb159a..545986cfb978 100644 --- a/drivers/hid/wacom_sys.c +++ b/drivers/hid/wacom_sys.c | |||
@@ -395,6 +395,14 @@ static void wacom_usage_mapping(struct hid_device *hdev, | |||
395 | } | 395 | } |
396 | } | 396 | } |
397 | 397 | ||
398 | /* 2nd-generation Intuos Pro Large has incorrect Y maximum */ | ||
399 | if (hdev->vendor == USB_VENDOR_ID_WACOM && | ||
400 | hdev->product == 0x0358 && | ||
401 | WACOM_PEN_FIELD(field) && | ||
402 | wacom_equivalent_usage(usage->hid) == HID_GD_Y) { | ||
403 | field->logical_maximum = 43200; | ||
404 | } | ||
405 | |||
398 | switch (usage->hid) { | 406 | switch (usage->hid) { |
399 | case HID_GD_X: | 407 | case HID_GD_X: |
400 | features->x_max = field->logical_maximum; | 408 | features->x_max = field->logical_maximum; |