]> Dogcows Code - chaz/openbox/commitdiff
add a leftHanded option for mouse bindings, reverses the left/right keywords
authorDana Jansens <danakj@orodu.net>
Wed, 4 Jun 2003 22:46:17 +0000 (22:46 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 4 Jun 2003 22:46:17 +0000 (22:46 +0000)
data/rc3
plugins/mouse/mouse.c
plugins/mouse/mouse.h
plugins/mouse/translate.c

index bc1b16baf9410bc4a5117569f0441d6a1af3859b..22748aab7975db8798ccf1b4705de3682a3c6f03 100644 (file)
--- a/data/rc3
+++ b/data/rc3
 <mouse>
   <dragThreshold>3</dragThreshold>
   <doubleClickTime>200</doubleClickTime>
+  <leftHanded>no</leftHanded>
 
   <context name="frame">
     <mousebind button="A-Left" action="drag">
index a2b3d7e04d01578f4a21e994c83292ffc486eed4..1afc43e65cf2f0f12b1689c5c775056b60d21472 100644 (file)
@@ -13,7 +13,7 @@
 
 static int threshold;
 static int dclicktime;
-
+gboolean mouse_lefthand;
 /*
 
 <context name="Titlebar"> 
@@ -36,6 +36,8 @@ static void parse_xml(xmlDocPtr doc, xmlNodePtr node, void *d)
         threshold = parse_int(doc, n);
     if ((n = parse_find_node("doubleClickTime", node)))
         dclicktime = parse_int(doc, n);
+    if ((n = parse_find_node("leftHanded", node)))
+        mouse_lefthand = parse_bool(doc, n);
 
     n = parse_find_node("context", node);
     while (n) {
@@ -99,6 +101,7 @@ void plugin_setup_config()
 {
     threshold = 3;
     dclicktime = 200;
+    mouse_lefthand = FALSE;
     parse_register("mouse", parse_xml, NULL);
 }
 
index 408ae96458682b0b1bc23ea7a939cde69a525913..83ce9a7740d7a78aca0a2dfe09aee4775fe25e63 100644 (file)
@@ -18,6 +18,8 @@ typedef struct {
     GSList *actions[NUM_MOUSEACTION]; /* lists of Action pointers */
 } MouseBinding;
 
+extern gboolean mouse_lefthand;
+
 gboolean mbind(char *buttonstr, char *contextstr, MouseAction mact,
                Action *action);
 
index 9f042dd9991c5f50f505263783dd7f25dee6858d..d849ed4485ea6f622cbab24ddbfe03ccf2ebe5ea 100644 (file)
@@ -1,4 +1,5 @@
 #include "../../kernel/openbox.h"
+#include "mouse.h"
 #include <glib.h>
 #include <string.h>
 #include <stdlib.h>
@@ -45,9 +46,9 @@ gboolean translate_button(char *str, guint *state, guint *button)
     }
 
     /* figure out the button */
-    if (!g_ascii_strcasecmp("Left", l)) *button = 1;
+    if (!g_ascii_strcasecmp("Left", l)) *button = mouse_lefthand ? 3 : 1;
     else if (!g_ascii_strcasecmp("Middle", l)) *button = 2;
-    else if (!g_ascii_strcasecmp("Right", l)) *button = 3;
+    else if (!g_ascii_strcasecmp("Right", l)) *button = mouse_lefthand ? 1 : 3;
     else if (!g_ascii_strcasecmp("Up", l)) *button = 4;
     else if (!g_ascii_strcasecmp("Down", l)) *button = 5;
     else if (!g_ascii_strncasecmp("Button", l, 6)) *button = atoi(l+6);
This page took 0.026779 seconds and 4 git commands to generate.