[Intrepid, Jaunty, Karmic] SRU: input: Blacklist digitizers from joydev.c

Amit Kucheria amit.kucheria at canonical.com
Sun May 3 22:54:14 UTC 2009


On Tue, Apr 28, 2009 at 05:31:30PM +0200, Stefan Bader wrote:
> SRU justification:
>
> Impact: The joydev driver blacklists some input devices based on a 
> keymask. This does not work for the wacom driver as this does not set the 
> checked key.
>
> Fix: Add another key to the blacklist to catch digitizers and tablets. 
> Patch prepared to be submitted upstream.
>
> Testcase: Running X in Intrepid and onwards will result in a broken 
> joystick device visible for the tabled. Which is not there after.
>
> -- 
>
> When all other means of communication fail, try words!
>
>

> From 0d89d7a457b198bd3a69ce7fc984fa84bd719bbe Mon Sep 17 00:00:00 2001
> From: Stefan Bader <stefan.bader at canonical.com>
> Date: Tue, 28 Apr 2009 16:44:18 +0200
> Subject: [PATCH] UBUNTU: SAUCE: input: Blacklist digitizers from joydev.c
> 
> Bug: #300143
> BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/300143
> 
> BTN_TOUCH is not set by the wacom driver which causes it to be handled by the
> joydev driver while the resulting device is broken. This causes problems
> with applications that try to use a joystick device.
> 
> Signed-off-by: Tim Cole <tim.cole at canonical.com>
> Signed-off-by: Stefan Bader <stefan.bader at canonical.com>
> ---
>  drivers/input/joydev.c |    8 +++++++-
>  1 files changed, 7 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
> index a85b148..cef2333 100644
> --- a/drivers/input/joydev.c
> +++ b/drivers/input/joydev.c
> @@ -846,7 +846,13 @@ static const struct input_device_id joydev_blacklist[] = {
>  				INPUT_DEVICE_ID_MATCH_KEYBIT,
>  		.evbit = { BIT_MASK(EV_KEY) },
>  		.keybit = { [BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH) },
> -	},	/* Avoid itouchpads, touchscreens and tablets */
> +	},	/* Avoid itouchpads and touchscreens */
> +	{
> +		.flags = INPUT_DEVICE_ID_MATCH_EVBIT |
> +				INPUT_DEVICE_ID_MATCH_KEYBIT,
> +		.evbit = { BIT_MASK(EV_KEY) },
> +		.keybit = { [BIT_WORD(BTN_DIGI)] = BIT_MASK(BTN_DIGI) },
> +	},	/* Avoid tablets, digitisers and similar devices */
>  	{ }	/* Terminating entry */
>  };
>  
> -- 
> 1.5.4.3
> 

ACK


-- 
----------------------------------------------------------------------
Amit Kucheria, Kernel Engineer || amit at canonical.com
----------------------------------------------------------------------




More information about the kernel-team mailing list