summaryrefslogtreecommitdiffstats
path: root/video/out/x11_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/x11_common.c')
-rw-r--r--video/out/x11_common.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c
index 0e02069ae6..1f933bfcae 100644
--- a/video/out/x11_common.c
+++ b/video/out/x11_common.c
@@ -611,6 +611,13 @@ static int vo_x11_lookupkey(int key)
if (!mpkey)
mpkey = lookup_keymap_table(keymap, key);
+ // XFree86 keysym range; typically contains obscure "extra" keys
+ if (!mpkey && key >= 0x10080001 && key <= 0x1008FFFF) {
+ mpkey = MP_KEY_UNKNOWN_RESERVED_START + (key - 0x10080000);
+ if (mpkey > MP_KEY_UNKNOWN_RESERVED_LAST)
+ mpkey = 0;
+ }
+
return mpkey;
}