X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=plugins%2Fkeyboard%2Ftranslate.c;h=5a45f16723e28693fbd727305cd17d87ff39cdb6;hb=7886b797a36f5a035a75a19424e0b3cf7825baf8;hp=75c077fda0beab6f3da2c38eac49c707b669cdcd;hpb=739c958ac58154f8b1896113701e1c7f580d4cde;p=chaz%2Fopenbox diff --git a/plugins/keyboard/translate.c b/plugins/keyboard/translate.c index 75c077fd..5a45f167 100644 --- a/plugins/keyboard/translate.c +++ b/plugins/keyboard/translate.c @@ -1,18 +1,21 @@ #include "../../kernel/openbox.h" -#include "keyboard.h" #include #include -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; - g_warning("Invalid modifier '%s' in binding.", str); + 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_message("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; } @@ -44,12 +47,12 @@ gboolean translate_key(char *str, guint *state, guint *keycode) /* figure out the keycode */ sym = XStringToKeysym(l); if (sym == NoSymbol) { - g_warning("Invalid key name '%s' in key binding.", l); + g_message("Invalid key name '%s' in key binding.", l); goto translation_fail; } *keycode = XKeysymToKeycode(ob_display, sym); - if (!keycode) { - g_warning("Key '%s' does not exist on the display.", l); + if (!*keycode) { + g_message("Key '%s' does not exist on the display.", l); goto translation_fail; }