[PATCH] HID: wacom: Report ABS_MISC event for Cintiq Companion Hybrid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It appears that the Cintiq Companion Hybrid does not send an ABS_MISC
event to userspace when any of its ExpressKeys are pressed. This is not
strictly necessary now that the pad exists on its own device, but
should be fixed for consistency's sake.

Traditionally both the stylus and pad shared the same device node, and
xf86-input-wacom would use ABS_MISC for disambiguation. Not sending this 
causes the Hybrid to behave incorrectly with xf86-input-wacom beginning with 
its 8f44f3 commit.

Signed-off-by: Jason Gerecke <killertofu@xxxxxxxxx>
---
Question: I'd like to write a version of this patch which targets stable 
releases where the stylus and pad share the device node. How would I go 
about submitting one, since CCing this patch to stable won't quite do the 
trick (the patches would have to be against our old home under 
drivers/input/tablet...)

 drivers/hid/wacom_wac.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index a4ba8ca..f886149 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -783,6 +783,12 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
 			input_report_key(input, BTN_7, (data[4] & 0x40));  /* Left   */
 			input_report_key(input, BTN_8, (data[4] & 0x80));  /* Down   */
 			input_report_key(input, BTN_0, (data[3] & 0x01));  /* Center */
+
+			if (data[4] | (data[3] & 0x01)) {
+				input_report_abs(input, ABS_MISC, PAD_DEVICE_ID);
+			} else {
+				input_report_abs(input, ABS_MISC, 0);
+			}
 		} else if (features->type >= INTUOS5S && features->type <= INTUOSPL) {
 			int i;
 
-- 
2.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux