From ae0d84721d58731feee4888b67e7a1e55cd318b2 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 4 Jun 2003 22:46:17 +0000 Subject: [PATCH] add a leftHanded option for mouse bindings, reverses the left/right keywords --- data/rc3 | 1 + plugins/mouse/mouse.c | 5 ++++- plugins/mouse/mouse.h | 2 ++ plugins/mouse/translate.c | 5 +++-- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/data/rc3 b/data/rc3 index bc1b16ba..22748aab 100644 --- a/data/rc3 +++ b/data/rc3 @@ -111,6 +111,7 @@ 3 200 + no diff --git a/plugins/mouse/mouse.c b/plugins/mouse/mouse.c index a2b3d7e0..1afc43e6 100644 --- a/plugins/mouse/mouse.c +++ b/plugins/mouse/mouse.c @@ -13,7 +13,7 @@ static int threshold; static int dclicktime; - +gboolean mouse_lefthand; /* @@ -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); } diff --git a/plugins/mouse/mouse.h b/plugins/mouse/mouse.h index 408ae964..83ce9a77 100644 --- a/plugins/mouse/mouse.h +++ b/plugins/mouse/mouse.h @@ -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); diff --git a/plugins/mouse/translate.c b/plugins/mouse/translate.c index 9f042dd9..d849ed44 100644 --- a/plugins/mouse/translate.c +++ b/plugins/mouse/translate.c @@ -1,4 +1,5 @@ #include "../../kernel/openbox.h" +#include "mouse.h" #include #include #include @@ -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); -- 2.39.2