HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage
Subsystems (3)
PATCH 1/1 HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage
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.
--- drivers/hid/wacom_wac.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/hid/wacom_wac.c +7 -1
@@ -1845,7 +1845,13 @@ static void wacom_wac_pad_usage_mapping(struct hid_device *hdev, 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 :
Signature · 1 line
2.13.4
Quoted 8 lines · Jason Gerecke
The
WACOM_HID_WD_TOUCHRINGSTATUSusage 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.
Quoted 7 lines
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")Signed-off-by Jason Gerecke <[email protected]>
Applied to for-4.13/upstream-fixes. Thanks,
Signature · 2 lines
Jiri Kosina SUSE Labs