public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Mouse button swapping
@ 2005-12-09 14:10 Jan Engelhardt
  2005-12-12 11:08 ` Clemens Koller
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jan Engelhardt @ 2005-12-09 14:10 UTC (permalink / raw)
  To: Linux Kernel Mailing List

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?

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
-- 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-12-14 11:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-09 14:10 Mouse button swapping Jan Engelhardt
2005-12-12 11:08 ` Clemens Koller
2005-12-12 11:45 ` Pavel Machek
2005-12-13  6:08 ` Dmitry Torokhov
2005-12-13  7:34   ` Vojtech Pavlik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox