From d27e6e90d444290ef3d1f5678bd3cc1147164db6 Mon Sep 17 00:00:00 2001 From: Ketmar Dark Date: Tue, 25 Aug 2015 05:08:35 +0300 Subject: [PATCH] alt+key now ignores input language --- src/x11evtkbd.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/x11evtkbd.c b/src/x11evtkbd.c index 4b1fffd..9f5b3e8 100644 --- a/src/x11evtkbd.c +++ b/src/x11evtkbd.c @@ -147,8 +147,16 @@ static void xevtcbkpress (XEvent *ev) { default: if (!curterm->dead && len > 0) { k8t_tmUnshowHistory(curterm); - if (meta && len == 1) k8t_ttyWriteStr(curterm, "\x1b"); - k8t_ttyWrite(curterm, buf, len); + KeySym ksx = (meta ? XLookupKeysym(e, 0) : NoSymbol); + if (meta && ksx >= 32 && ksx <= 126) { + // alt+key: ignore current xcb language + buf[0] = '\x1b'; + buf[1] = ksx&0xff; + k8t_ttyWrite(curterm, buf, 2); + } else { + if (meta && len == 1) k8t_ttyWriteStr(curterm, "\x1b"); + k8t_ttyWrite(curterm, buf, len); + } } break; } -- 2.11.4.GIT