summaryrefslogtreecommitdiff
path: root/src/keys.cc
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2009-11-04 17:33:31 +0000
committercorvid <corvid@lavabit.com>2009-11-04 17:33:31 +0000
commit2b70a4bb1afb9c9b31ffbf4bb29a6e5e26433b10 (patch)
tree05adc2b4827e02207d39b69eaa0eae400b5b3410 /src/keys.cc
parente1a7010ec491edcf30a790cb54f4448f36dcbf83 (diff)
allow keysyms in keysrc
Diffstat (limited to 'src/keys.cc')
-rw-r--r--src/keys.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/keys.cc b/src/keys.cc
index 54194334..1a39f4c8 100644
--- a/src/keys.cc
+++ b/src/keys.cc
@@ -11,6 +11,7 @@
#include <fltk/events.h>
#include <stdio.h>
+#include <stdlib.h> /* strtol */
#include <string.h>
#include <ctype.h>
@@ -310,6 +311,9 @@ void Keys::parseKey(char *key, char *commandName)
// Get key code
if (!key[1]) {
keycode = *key;
+ } else if (key[0] == '0' && key[1] == 'x') {
+ /* keysym. For details on values reported, see fltk's fltk/events.h */
+ keycode = strtol(key, NULL, 0x10);
} else if ((st = getKeyCode(keystr)) == -1) {
MSG("Keys::parseKey unknown keyname: %s\n", keystr);
} else {