From 67fd58d6f01ad84387421e2fc861c28dcf5c4f3c Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Sun, 19 Dec 2010 12:12:20 +0200 Subject: input: support bindings with modifier keys for X input Add support for binding commands to modifier+key combinations like "Shift+Left" or "Ctrl+Alt+x", and support reading such combinations from the output window of X VOs. The recognized modifier names are Shift, Ctrl, Alt and Meta. Any combination of those and then a non-modifier key name, separated by '+', is accepted as a key name in input.conf. For non-special keys that produce characters shift is ignored as a modifier. For example "A" is handled as a key without modifiers even if you use shift to write the capital letter; 'a' vs 'A' already distinguishes the combinations with a normal keymap, and having separate 'a', 'Shift+A' and 'A' (written with caps lock for example) would bring more confusion than benefit. Currently reading the modifier+key combinations is only supported in the output window of those VOs that use x11_common.c event handling. It's not possible to input the key combinations in other VOs or in a terminal window. --- osdep/keycodes.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'osdep') diff --git a/osdep/keycodes.h b/osdep/keycodes.h index 4d153a24aa..d197c8e3e9 100644 --- a/osdep/keycodes.h +++ b/osdep/keycodes.h @@ -94,4 +94,10 @@ #define KEY_INTERN (0x1000) #define KEY_CLOSE_WIN (KEY_INTERN+0) +/* Modifiers added to individual keys */ +#define KEY_MODIFIER_SHIFT 0x2000 +#define KEY_MODIFIER_CTRL 0x4000 +#define KEY_MODIFIER_ALT 0x8000 +#define KEY_MODIFIER_META 0x10000 + #endif /* MPLAYER_KEYCODES_H */ -- cgit v1.2.3