Re: Mouse button swapping

From: Pavel Machek
Date: Wed Dec 14 2005 - 06:43:22 EST


Hi!

> I produced a small patch that allows one to flip the mouse buttons at the
> kernel level. This is useful for changing it on a per-system basis, i.e. it
> will affect gpm, X and VMware all at once. It is changeable through
> /sys/module/mousedev/swap_buttons at runtime. Is this something mainline would
> be interested in?

Hopefully not. This should _not_ be done at kernel level. But fixing
X, gpm and vmware to load same config would be nice....
Pavel

> diff -dpru a/drivers/input/mousedev.c b/drivers/input/mousedev.c
> --- a/drivers/input/mousedev.c 2005-10-22 20:59:22.000000000 +0200
> +++ b/drivers/input/mousedev.c 2005-11-22 19:32:01.000000000 +0100
> @@ -40,6 +40,10 @@ MODULE_LICENSE("GPL");
> #define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768
> #endif
>
> +static unsigned int swap_buttons = 0;
> +module_param(swap_buttons, uint, 0644);
> +MODULE_PARM_DESC(swap_buttons, "Swap left and right mouse buttons");
> +
> static int xres = CONFIG_INPUT_MOUSEDEV_SCREEN_X;
> module_param(xres, uint, 0);
> MODULE_PARM_DESC(xres, "Horizontal screen resolution");
> @@ -191,10 +195,10 @@ static void mousedev_key_event(struct mo
> case BTN_TOUCH:
> case BTN_0:
> case BTN_FORWARD:
> - case BTN_LEFT: index = 0; break;
> + case BTN_LEFT: index = !!swap_buttons; break;
> case BTN_STYLUS:
> case BTN_1:
> - case BTN_RIGHT: index = 1; break;
> + case BTN_RIGHT: index = !swap_buttons; break;
> case BTN_2:
> case BTN_STYLUS2:
> case BTN_MIDDLE: index = 2; break;
> # eof
>
>
> Jan Engelhardt

--
Thanks, Sharp!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/