summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-12-30 06:44:14 +0000
committerDana Jansens <danakj@orodu.net>2002-12-30 06:44:14 +0000
commit349ac3f0e3922473df3f03586cee69ed44ff618c (patch)
tree4a31e9eaf9f650708c50dfa9abebe0c17da197b5
parentc9ca0e797de3f8b67b47333476a98b18445cdb67 (diff)
can build trees with modifiers
-rw-r--r--src/bindings.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/bindings.cc b/src/bindings.cc
index a6f7addb..c4469bb1 100644
--- a/src/bindings.cc
+++ b/src/bindings.cc
@@ -39,9 +39,14 @@ void OBBindings::display()
static bool translate(const std::string str, Binding &b)
{
- KeySym sym = XStringToKeysym(const_cast<char *>(str.c_str()));
+ std::string::size_type keybegin = str.find_last_of('-');
+ std::string key(str, keybegin != std::string::npos ? keybegin + 1 : 0);
+
+ // XXX: get some modifiers up in the hizzie
+
+ KeySym sym = XStringToKeysym(const_cast<char *>(key.c_str()));
if (sym == NoSymbol) return false;
- b.modifiers = Mod1Mask;
+ b.modifiers = Mod1Mask; // XXX: no way
b.key = XKeysymToKeycode(otk::OBDisplay::display, sym);
return b.key != 0;
}