diff mbox

Input: wacom - Mark Intuos5 pad as in-prox when touching buttons

Message ID 1347665405-2078-1-git-send-email-killertofu@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Gerecke, Jason Sept. 14, 2012, 11:30 p.m. UTC
If the ExpressKeys on the Intuos5 are touched, they currently result
an out-of-prox packet being sent even if the pad is already out of
prox. This can cause some confusion in the X driver. To restore the
expected semantics, we make being touched a sufficient condition to
signal proximity.

https://bugs.freedesktop.org/show_bug.cgi?id=54250

Reported-by: Timo Aaltonen <tjaalton@ubuntu.com>
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
---
 drivers/input/tablet/wacom_wac.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

chris@cnpbagwell.com Sept. 22, 2012, 4:35 p.m. UTC | #1
On Fri, Sep 14, 2012 at 6:30 PM, Jason Gerecke <killertofu@gmail.com> wrote:
> If the ExpressKeys on the Intuos5 are touched, they currently result
> an out-of-prox packet being sent even if the pad is already out of
> prox. This can cause some confusion in the X driver. To restore the
> expected semantics, we make being touched a sufficient condition to
> signal proximity.

Seems like easiest solution to prevent invalid event sequencies.

Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

>
> https://bugs.freedesktop.org/show_bug.cgi?id=54250
>
> Reported-by: Timo Aaltonen <tjaalton@ubuntu.com>
> Signed-off-by: Jason Gerecke <killertofu@gmail.com>
> ---
>  drivers/input/tablet/wacom_wac.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
> index 532d067..9317109 100644
> --- a/drivers/input/tablet/wacom_wac.c
> +++ b/drivers/input/tablet/wacom_wac.c
> @@ -606,7 +606,7 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
>                                 input_report_abs(input, ABS_WHEEL, 0);
>                         }
>
> -                       if (data[2] | (data[3] & 0x01) | data[4]) {
> +                       if (data[2] | (data[3] & 0x01) | data[4] | data[5]) {
>                                 input_report_key(input, wacom->tool[1], 1);
>                                 input_report_abs(input, ABS_MISC, PAD_DEVICE_ID);
>                         } else {
> --
> 1.7.12
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index 532d067..9317109 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -606,7 +606,7 @@  static int wacom_intuos_irq(struct wacom_wac *wacom)
 				input_report_abs(input, ABS_WHEEL, 0);
 			}
 
-			if (data[2] | (data[3] & 0x01) | data[4]) {
+			if (data[2] | (data[3] & 0x01) | data[4] | data[5]) {
 				input_report_key(input, wacom->tool[1], 1);
 				input_report_abs(input, ABS_MISC, PAD_DEVICE_ID);
 			} else {