Patchwork [v2] HID: wacom: generic: Wacom mouse is only provided for opaque tablets

login
register
mail settings
Submitter Ping Cheng
Date March 15, 2017, 12:08 a.m.
Message ID <1489536496-29253-1-git-send-email-pingc@wacom.com>
Download mbox | patch
Permalink /patch/9624649/
State New
Headers show

Comments

Ping Cheng - March 15, 2017, 12:08 a.m.
Commit f85c9dc ("Support tool ID and additional tool types") introduced mouse
and lens cursor tools to generic codepath, which covers both display (direct)
and opaque tablets (indirect devices). However, mouse and lens cursor tools are
only provided for opaque tablets. This patch ignores mouse and lens cursor tools
if the device is a display tablet.

Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
---
v2: updated commit comments as requested by Jiri.
---
 drivers/hid/wacom_wac.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Jiri Kosina - March 21, 2017, 1:48 p.m.
On Tue, 14 Mar 2017, Ping Cheng wrote:

> Commit f85c9dc ("Support tool ID and additional tool types") introduced mouse
> and lens cursor tools to generic codepath, which covers both display (direct)
> and opaque tablets (indirect devices). However, mouse and lens cursor tools are
> only provided for opaque tablets. This patch ignores mouse and lens cursor tools
> if the device is a display tablet.
> 
> Signed-off-by: Ping Cheng <ping.cheng@wacom.com>
> Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
> ---
> v2: updated commit comments as requested by Jiri.

Applied to for-4.11/upstream-fixes.

Patch

diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index d51daf5..b51aa27 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -1952,8 +1952,10 @@  static void wacom_wac_pen_usage_mapping(struct hid_device *hdev,
 		input_set_capability(input, EV_KEY, BTN_TOOL_BRUSH);
 		input_set_capability(input, EV_KEY, BTN_TOOL_PENCIL);
 		input_set_capability(input, EV_KEY, BTN_TOOL_AIRBRUSH);
-		input_set_capability(input, EV_KEY, BTN_TOOL_MOUSE);
-		input_set_capability(input, EV_KEY, BTN_TOOL_LENS);
+		if (!(features->device_type & WACOM_DEVICETYPE_DIRECT)) {
+			input_set_capability(input, EV_KEY, BTN_TOOL_MOUSE);
+			input_set_capability(input, EV_KEY, BTN_TOOL_LENS);
+		}
 		break;
 	case WACOM_HID_WD_FINGERWHEEL:
 		wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);