diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | main.c | 16 |
2 files changed, 8 insertions, 10 deletions
@@ -1,4 +1,4 @@ -VERSION = git-20171207 +VERSION = git-20180109 srcdir = . VPATH = $(srcdir) @@ -566,22 +566,20 @@ end: void on_keypress(XKeyEvent *kev) { int i; - unsigned int sh; + unsigned int sh = 0; KeySym ksym, shksym; - char key; + char dummy, key; bool dirty = false; + XLookupString(kev, &key, 1, &ksym, NULL); + if (kev->state & ShiftMask) { kev->state &= ~ShiftMask; - XLookupString(kev, &key, 1, &shksym, NULL); + XLookupString(kev, &dummy, 1, &shksym, NULL); kev->state |= ShiftMask; - XLookupString(kev, &key, 1, &ksym, NULL); - sh = ksym != shksym ? ShiftMask : 0; - } else { - XLookupString(kev, &key, 1, &ksym, NULL); - sh = 0; + if (ksym != shksym) + sh = ShiftMask; } - if (IsModifierKey(ksym)) return; if (ksym == XK_Escape && MODMASK(kev->state) == 0) { |