[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