diff options
Diffstat (limited to 'src/keys.cc')
-rw-r--r-- | src/keys.cc | 4 |
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 { |