From 289b33b2de6b59b6fe92192a55297cbbdfd70d6b Mon Sep 17 00:00:00 2001 From: phintuka Date: Fri, 24 Sep 2010 12:45:44 +0000 Subject: Minor optimization to Alt/Ctrl key handling --- xine_sxfe_frontend.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/xine_sxfe_frontend.c b/xine_sxfe_frontend.c index 08951fe3..767dc873 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.140 2010-09-24 12:34:29 phintuka Exp $ + * $Id: xine_sxfe_frontend.c,v 1.141 2010-09-24 12:45:44 phintuka Exp $ * */ @@ -1589,6 +1589,7 @@ static void XKeyEvent_handler(sxfe_t *this, XKeyEvent *kev) this->x.fe.send_event((frontend_t*)this, fe_event); else if (!this->no_x_kbd) { if (ks_name) { + if (kev->state & (Mod1Mask|ControlMask)) { char keyname[40] = ""; if (kev->state & Mod1Mask) { strcat(keyname, "Alt+"); @@ -1597,7 +1598,9 @@ static void XKeyEvent_handler(sxfe_t *this, XKeyEvent *kev) strcat(keyname, "Ctrl+"); } strncat(keyname, ks_name, sizeof(keyname) - 11); - this->x.fe.send_input_event((frontend_t*)this, "XKeySym", keyname, 0, 0); + ks_name = keyname; + } + this->x.fe.send_input_event((frontend_t*)this, "XKeySym", ks_name, 0, 0); } } } -- cgit v1.2.3