svkbd

simple virtual keyboard
git clone git://git.suckless.org/svkbd
Log | Files | Refs | README | LICENSE

commit b70948b74c19f916bc9e1a610ea1a2a215a54900
parent e2828d4f7a290ebab671c3bfff162684c7779be0
Author: Maarten van Gompel <proycon@anaproy.nl>
Date:   Sun, 11 Jul 2021 17:53:42 +0200

exclude certain modifier keys and basic keys from being overlayed

This ensures that modifiers like shift/ctrl can be correctly used with the overlay.

Diffstat:
Msvkbd.c | 8+++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/svkbd.c b/svkbd.c @@ -1052,7 +1052,13 @@ showoverlay(int idx) if (overlay[i].keysym == XK_Cancel) { break; } - while (keys[j].keysym == 0) + //certain modifier keys and basic keys are excluded from being overlayed: + while (keys[j].keysym == 0 || keys[j].keysym == XK_Shift_L || + keys[j].keysym == XK_Shift_R || keys[j].keysym == XK_Control_L || + keys[j].keysym == XK_Control_R || keys[j].keysym == XK_Alt_L || + keys[j].keysym == XK_Alt_R || keys[j].keysym == XK_BackSpace || + keys[j].keysym == XK_Return || keys[j].keysym == XK_space || + keys[j].keysym == XK_Cancel) j++; if (overlay[i].width > 1) j += overlay[i].width - 1;