diff options
author | Jason Gerecke <killertofu@gmail.com> | 2018-06-26 09:58:02 -0700 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2018-07-03 12:09:34 +0200 |
commit | 3b8d573586d1b9dee33edf6cb6f2ca05f4bca568 (patch) | |
tree | c639cc668fcecb2cbb34a9dbb54f3836a095bfb5 /drivers/hid | |
parent | 717adfdaf14704fd3ec7fa2c04520c0723247eac (diff) | |
download | linux-stable-3b8d573586d1b9dee33edf6cb6f2ca05f4bca568.tar.gz linux-stable-3b8d573586d1b9dee33edf6cb6f2ca05f4bca568.tar.bz2 linux-stable-3b8d573586d1b9dee33edf6cb6f2ca05f4bca568.zip |
HID: wacom: Correct touch maximum XY of 2nd-gen Intuos
The touch sensors on the 2nd-gen Intuos tablets don't use a 4096x4096
sensor like other similar tablets (3rd-gen Bamboo, Intuos5, etc.).
The incorrect maximum XY values don't normally affect userspace since
touch input from these devices is typically relative rather than
absolute. It does, however, cause problems when absolute distances
need to be measured, e.g. for gesture recognition. Since the resolution
of the touch sensor on these devices is 10 units / mm (versus 100 for
the pen sensor), the proper maximum values can be calculated by simply
dividing by 10.
Fixes: b5fd2a3e92 ("Input: wacom - add support for three new Intuos devices")
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/wacom_wac.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 0bb44d0088ed..ad7afa74d365 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -3365,8 +3365,14 @@ void wacom_setup_device_quirks(struct wacom *wacom) if (features->type >= INTUOSHT && features->type <= BAMBOO_PT) features->device_type |= WACOM_DEVICETYPE_PAD; - features->x_max = 4096; - features->y_max = 4096; + if (features->type == INTUOSHT2) { + features->x_max = features->x_max / 10; + features->y_max = features->y_max / 10; + } + else { + features->x_max = 4096; + features->y_max = 4096; + } } else if (features->pktlen == WACOM_PKGLEN_BBTOUCH) { features->device_type |= WACOM_DEVICETYPE_PAD; |