aboutsummaryrefslogtreecommitdiff
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
parente1a7010ec491edcf30a790cb54f4448f36dcbf83 (diff)
allow keysyms in keysrc
-rw-r--r--ChangeLog1
-rw-r--r--src/keys.cc4
-rw-r--r--src/keysrc4
3 files changed, 9 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b589513e..b85cc28d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -47,6 +47,7 @@ dillo-2.2 [??]
- Fix segfault when radio button lacks name attribute.
- Enable popup menu below bottom of page content (BUG#856).
- Handle JPEGs with CMYK color space.
+ - Allow keysyms in keysrc.
Patches: corvid
+- Support for the letter-spacing property.
Patch: Johannes Hofmann, corvid
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 {
diff --git a/src/keysrc b/src/keysrc
index 1e4f0d34..3f53674f 100644
--- a/src/keysrc
+++ b/src/keysrc
@@ -10,6 +10,10 @@
# "F1" through "F12", "Home", "Insert", "Left", "PageDown", "PageUp",
# "Print", "Return", "Right", "Space", "Tab", "Up".
#
+# If Dillo is running under X11, keys whose names are not recognized can
+# be specified using their keysym value in hexadecimal. Use xev to get
+# the keysym. Example rule: "0x1008ff27 = forward".
+#
# The action "nop" (no operation) can be used to remove a binding.
# "open" lets you browse your local files for one to open.