From 428c7eedb8a617b2bb69f3526073270c6048236b Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 19 Jun 2017 18:44:55 +0200 Subject: Fix Shift modifier not being recognized for tab, space and similar keys Closes #303 --- src/keyevents.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/keyevents.c b/src/keyevents.c index e4b7c7b..3932804 100644 --- a/src/keyevents.c +++ b/src/keyevents.c @@ -73,7 +73,7 @@ static void feh_set_parse_kb_partial(fehkey *key, int index, char *ks) { } key->keysyms[index] = XStringToKeysym(cur); - if (isascii(key->keysyms[index])) + if (isprint(key->keysyms[index]) && !isspace(key->keysyms[index])) mod &= ~ShiftMask; key->keystates[index] = mod; @@ -278,7 +278,7 @@ void feh_event_handle_keypress(XEvent * ev) XLookupString(&ev->xkey, (char *) kbuf, sizeof(kbuf), &keysym, NULL); state = kev->state & (ControlMask | ShiftMask | Mod1Mask | Mod4Mask); - if (isascii(keysym)) + if (isprint(keysym) && !isspace(keysym)) state &= ~ShiftMask; /* menus are showing, so this is a menu control keypress */ -- cgit v1.2.3