summaryrefslogtreecommitdiff
path: root/src/keys.cc
diff options
context:
space:
mode:
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 {