Mouse button swapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux