diff options
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | examples/remote.conf.example | 2 | ||||
-rw-r--r-- | xine_sxfe_frontend.c | 15 |
3 files changed, 16 insertions, 4 deletions
@@ -3,7 +3,8 @@ VDR Plugin 'xineliboutput' Revision History ????-??-??: Version 1.1.0 -- Added FreeBSD compability (Thanks to Juergen Lock) +- Added support for Alt and Ctrl key modifiers to X11 keyboard remote controller. +- Added FreeBSD compability (Thanks to Juergen Lock and Joerg Pulz) - Added support for yaepg(hd) video window with HUD OSD (Thanks to grueni75) - Fixed lot of compiler warnings (Thanks to Winfried Koehler) - Fixed mixer volume being reset at vdr-sxfe start when using software volume control diff --git a/examples/remote.conf.example b/examples/remote.conf.example index df13bc33..ff3afd88 100644 --- a/examples/remote.conf.example +++ b/examples/remote.conf.example @@ -45,6 +45,8 @@ XKeySym.Volume- KP_Subtract XKeySym.Mute m XKeySym.Info I XKeySym.Audio A +XKeySym.Audio Alt+A +XKeySym.Audio Alt+a XKeySym.Subtitles S XKeySym.Schedule F6 XKeySym.Channels F7 diff --git a/xine_sxfe_frontend.c b/xine_sxfe_frontend.c index a9cf29ec..d0f7433d 100644 --- a/xine_sxfe_frontend.c +++ b/xine_sxfe_frontend.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_sxfe_frontend.c,v 1.135 2010-07-18 19:41:43 phintuka Exp $ + * $Id: xine_sxfe_frontend.c,v 1.136 2010-08-25 09:17:23 phintuka Exp $ * */ @@ -1578,8 +1578,17 @@ static void XKeyEvent_handler(sxfe_t *this, XKeyEvent *kev) } if (fe_event) this->x.fe.send_event((frontend_t*)this, fe_event); - else if (!this->no_x_kbd) - this->x.fe.send_input_event((frontend_t*)this, "XKeySym", XKeysymToString(ks), 0, 0); + else if (!this->no_x_kbd) { + char keyname[40] = ""; + if (kev->state & Mod1Mask) { + strcat(keyname, "Alt+"); + } + if (kev->state & ControlMask) { + strcat(keyname, "Ctrl+"); + } + strncat(keyname, XKeysymToString(ks), sizeof(keyname) - 11); + this->x.fe.send_input_event((frontend_t*)this, "XKeySym", keyname, 0, 0); + } } } |