all repos — openbox @ 9be4ad12e89dec9896f331d105a4ac14d2fc3708

openbox fork - make it a bit more like ryudo

parses the modifiers
Dana Jansens danakj@orodu.net
commit

9be4ad12e89dec9896f331d105a4ac14d2fc3708

parent

1369b32df813bfad0a19ec77751c2d3594e944c6

1 files changed, 4 insertions(+), 2 deletions(-)

jump to
M src/bindings.ccsrc/bindings.cc

@@ -41,6 +41,7 @@

bool OBBindings::translate(const std::string &str, Binding &b) { unsigned int mods = 0; + std::string modstring; // parse out the base key name std::string::size_type keybegin = str.find_last_of('-');

@@ -54,6 +55,7 @@ while (begin != keybegin) {

end = str.find_first_of('-', begin); std::string mod(str, begin, end-begin); + modstring += mod; if (mod == "C") { // control mods |= ControlMask;

@@ -78,11 +80,11 @@ } else if (mod == "M5" || // mod5

mod == "Mod5") { mods |= Mod5Mask; } - printf("got modifier: got modifier: %s\n", mod.c_str()); - begin = end + 1; } + printf("got modifier: %s\n", modstring.c_str()); + KeySym sym = XStringToKeysym(const_cast<char *>(key.c_str())); if (sym == NoSymbol) return false; b.modifiers = mods;