diff options
author | corvid <corvid@lavabit.com> | 2009-11-04 17:33:31 +0000 |
---|---|---|
committer | corvid <corvid@lavabit.com> | 2009-11-04 17:33:31 +0000 |
commit | 2b70a4bb1afb9c9b31ffbf4bb29a6e5e26433b10 (patch) | |
tree | 05adc2b4827e02207d39b69eaa0eae400b5b3410 /src/keys.cc | |
parent | e1a7010ec491edcf30a790cb54f4448f36dcbf83 (diff) |
allow keysyms in keysrc
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 { |