* [PATCH 2/4] HID: wacom: Report 'strip2' values in ABS_RY
2015-12-16 21:37 [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits Jason Gerecke
@ 2015-12-16 21:37 ` Jason Gerecke
2015-12-16 21:37 ` [PATCH 3/4] HID: wacom: Fix touchring value reporting Jason Gerecke
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Jason Gerecke @ 2015-12-16 21:37 UTC (permalink / raw)
To: linux-input
Cc: Jiri Kosina, Ping Cheng, Aaron Skomra, Jason Gerecke,
Jason Gerecke
Commit c7f0522 accidentally used ABS_RX for reporting both 'strip1' and
'strip2', when the latter should actually be reported through ABS_RY.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
---
drivers/hid/wacom_wac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index cf87810..94dffde 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -558,7 +558,7 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
input_report_key(input, KEY_PROG1 + i, keys & (1 << i));
input_report_abs(input, ABS_RX, strip1);
- input_report_abs(input, ABS_RX, strip2);
+ input_report_abs(input, ABS_RY, strip2);
input_report_abs(input, ABS_WHEEL, ring1 & 0x7f ? ring1 : 0);
input_report_abs(input, ABS_THROTTLE, ring2 & 0x07 ? ring2 : 0);
--
2.6.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/4] HID: wacom: Fix touchring value reporting
2015-12-16 21:37 [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits Jason Gerecke
2015-12-16 21:37 ` [PATCH 2/4] HID: wacom: Report 'strip2' values in ABS_RY Jason Gerecke
@ 2015-12-16 21:37 ` Jason Gerecke
2015-12-16 21:37 ` [PATCH 4/4] HID: wacom: Fix pad button range for CINTIQ_COMPANION_2 Jason Gerecke
2015-12-17 23:04 ` [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits Jiri Kosina
3 siblings, 0 replies; 5+ messages in thread
From: Jason Gerecke @ 2015-12-16 21:37 UTC (permalink / raw)
To: linux-input
Cc: Jiri Kosina, Ping Cheng, Aaron Skomra, Jason Gerecke,
Jason Gerecke
Commit c7f0522 reports incorrect touchring values to userspace. This is
due to its incorrect handling of the 'touched' bit present in the 'ring1'
and 'ring2' variables. Instead of using this bit when determining if a
value should be sent, the ABS_WHEEL and ABS_INPUT check (different?!)
portions of the position bits. Furthermore, the full values of 'ring1'
and 'ring2' are reported to userspace, despite the 'touched' flag
needing to be trimmed beforehand. This commit addresses both issues.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
---
drivers/hid/wacom_wac.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 94dffde..23212af 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -560,8 +560,8 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
input_report_abs(input, ABS_RX, strip1);
input_report_abs(input, ABS_RY, strip2);
- input_report_abs(input, ABS_WHEEL, ring1 & 0x7f ? ring1 : 0);
- input_report_abs(input, ABS_THROTTLE, ring2 & 0x07 ? ring2 : 0);
+ input_report_abs(input, ABS_WHEEL, (ring1 & 0x80) ? (ring1 & 0x7f) : 0);
+ input_report_abs(input, ABS_THROTTLE, (ring2 & 0x80) ? (ring2 & 0x7f) : 0);
input_report_key(input, wacom->tool[1], prox ? 1 : 0);
input_report_abs(input, ABS_MISC, prox ? PAD_DEVICE_ID : 0);
--
2.6.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 4/4] HID: wacom: Fix pad button range for CINTIQ_COMPANION_2
2015-12-16 21:37 [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits Jason Gerecke
2015-12-16 21:37 ` [PATCH 2/4] HID: wacom: Report 'strip2' values in ABS_RY Jason Gerecke
2015-12-16 21:37 ` [PATCH 3/4] HID: wacom: Fix touchring value reporting Jason Gerecke
@ 2015-12-16 21:37 ` Jason Gerecke
2015-12-17 23:04 ` [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits Jiri Kosina
3 siblings, 0 replies; 5+ messages in thread
From: Jason Gerecke @ 2015-12-16 21:37 UTC (permalink / raw)
To: linux-input
Cc: Jiri Kosina, Ping Cheng, Aaron Skomra, Jason Gerecke,
Jason Gerecke
Commit c7f0522 incorrectly constructs the 'buttons' variable for the
CINTIQ_COMPANION_2 case. The high nybble of data[2] is shifted four
bits too far, leaving the bits associated with BTN_7 through BTN_A
unset.
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
---
drivers/hid/wacom_wac.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 23212af..f706604 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -516,7 +516,7 @@ static int wacom_intuos_pad(struct wacom_wac *wacom)
* d-pad down -> data[4] & 0x80
* d-pad center -> data[3] & 0x01
*/
- buttons = ((data[2] & 0xF0) << 7) |
+ buttons = ((data[2] >> 4) << 7) |
((data[1] & 0x04) << 6) |
((data[2] & 0x0F) << 2) |
(data[1] & 0x03);
--
2.6.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits
2015-12-16 21:37 [PATCH 1/4] HID: wacom: Limit touchstrip data to 13 bits Jason Gerecke
` (2 preceding siblings ...)
2015-12-16 21:37 ` [PATCH 4/4] HID: wacom: Fix pad button range for CINTIQ_COMPANION_2 Jason Gerecke
@ 2015-12-17 23:04 ` Jiri Kosina
3 siblings, 0 replies; 5+ messages in thread
From: Jiri Kosina @ 2015-12-17 23:04 UTC (permalink / raw)
To: Jason Gerecke; +Cc: linux-input, Ping Cheng, Aaron Skomra, Jason Gerecke
I've applied the series to for-4.5/wacom.
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 5+ messages in thread