Skip to contentSkip to conversation

Patch "HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage" has been added to the 4.13-stable tree

PATCH [email protected] 1 participant 1 message Sep 7, 2017

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage

to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
hid-wacom-do-not-completely-map-wacom_hid_wd_touchringstatus-usage.patch
and it can be found in the queue-4.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 8d411cbf46e515ca2b7ceb3d2b3f43e22813edac Mon Sep 17 00:00:00 2001

From: Jason Gerecke <[email protected]>
Date: Fri, 4 Aug 2017 15:35:14 -0700
Subject: HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage

From: Jason Gerecke <[email protected]>

commit 8d411cbf46e515ca2b7ceb3d2b3f43e22813edac upstream.

The WACOM_HID_WD_TOUCHRINGSTATUS usage is a single bit which tells us whether the touchring is currently in use or not. Because we need to reset the axis value to 0 when the finger is removed, we call 'wacom_map_usage' to ensure that the required type/code values are associated with the usage. The 'wacom_map_usage' also sets up the axis range and resolution, however, which is not desired in this particular case.

Although xf86-input-wacom doesn't do really do anything with the ring's range or resolution, the libinput driver (for Wayland environments) uses these values to provide proper angle indications to userspace.

Fixes 60a2218698 ("HID: wacom: generic: add support for touchring")
---
 drivers/hid/wacom_wac.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/hid/wacom_wac.c +7 -1
@@ -1846,7 +1846,13 @@ static void wacom_wac_pad_usage_mapping(
 		features->device_type |= WACOM_DEVICETYPE_PAD;
 		break;
 	case WACOM_HID_WD_TOUCHRINGSTATUS:
-		wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);
+		/*
+		 * Only set up type/code association. Completely mapping
+		 * this usage may overwrite the axis resolution and range.
+		 */
+		usage->type = EV_ABS;
+		usage->code = ABS_WHEEL;
+		set_bit(EV_ABS, input->evbit);
 		features->device_type |= WACOM_DEVICETYPE_PAD;
 		break;
 	case WACOM_HID_WD_BUTTONCONFIG:

Patches currently in stable-queue which might be from [email protected] are

queue-4.13/hid-wacom-do-not-completely-map-wacom_hid_wd_touchringstatus-usage.patch