]> Dogcows Code - chaz/openbox/blobdiff - plugins/keyboard/translate.c
not using CurrentTime anywhere
[chaz/openbox] / plugins / keyboard / translate.c
index 75c077fda0beab6f3da2c38eac49c707b669cdcd..25e1c6a6a0e388819ca117f4b88894537bd0977f 100644 (file)
@@ -1,17 +1,20 @@
 #include "../../kernel/openbox.h"
-#include "keyboard.h"
 #include <glib.h>
 #include <string.h>
 
-guint keyboard_translate_modifier(char *str)
+static guint translate_modifier(char *str)
 {
-    if (!strcmp("Mod1", str) || !strcmp("A", str)) return Mod1Mask;
-    else if (!strcmp("Mod2", str)) return Mod2Mask;
-    else if (!strcmp("Mod3", str)) return Mod3Mask;
-    else if (!strcmp("Mod4", str) || !strcmp("W", str)) return Mod4Mask;
-    else if (!strcmp("Mod5", str)) return Mod5Mask;
-    else if (!strcmp("C", str)) return ControlMask;
-    else if (!strcmp("S", str)) return ShiftMask;
+    if (!g_ascii_strcasecmp("Mod1", str) ||
+        !g_ascii_strcasecmp("A", str)) return Mod1Mask;
+    else if (!g_ascii_strcasecmp("Mod2", str)) return Mod2Mask;
+    else if (!g_ascii_strcasecmp("Mod3", str)) return Mod3Mask;
+    else if (!g_ascii_strcasecmp("Mod4", str) ||
+             !g_ascii_strcasecmp("W", str)) return Mod4Mask;
+    else if (!g_ascii_strcasecmp("Mod5", str)) return Mod5Mask;
+    else if (!g_ascii_strcasecmp("Control", str) ||
+             !g_ascii_strcasecmp("C", str)) return ControlMask;
+    else if (!g_ascii_strcasecmp("Shift", str) ||
+             !g_ascii_strcasecmp("S", str)) return ShiftMask;
     g_warning("Invalid modifier '%s' in binding.", str);
     return 0;
 }
@@ -36,7 +39,7 @@ gboolean translate_key(char *str, guint *state, guint *keycode)
     /* figure out the mod mask */
     *state = 0;
     for (i = 0; parsed[i] != l; ++i) {
-       guint m = keyboard_translate_modifier(parsed[i]);
+       guint m = translate_modifier(parsed[i]);
        if (!m) goto translation_fail;
        *state |= m;
     }
@@ -48,7 +51,7 @@ gboolean translate_key(char *str, guint *state, guint *keycode)
        goto translation_fail;
     }
     *keycode = XKeysymToKeycode(ob_display, sym);
-    if (!keycode) {
+    if (!*keycode) {
        g_warning("Key '%s' does not exist on the display.", l); 
        goto translation_fail;
     }
This page took 0.025213 seconds and 4 git commands to generate.