diff --git a/config.def.h b/config.def.h index 6fba2b6..933152b 100644 --- a/config.def.h +++ b/config.def.h @@ -10,3 +10,6 @@ static const char *colorname[NUMCOLS] = { /* treat a cleared input like a wrong password */ static const int failonclear = 1; + +/* allow control key to trigger fail on clear */ +static const int controlkeyclear = 0; diff --git a/slock.c b/slock.c index 4d7f06f..15552ef 100644 --- a/slock.c +++ b/slock.c @@ -180,8 +180,9 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, passwd[len--] = '\0'; break; default: - if (num && !iscntrl((int)buf[0]) && - (len + num < sizeof(passwd))) { + if (controlkeyclear && iscntrl((int)buf[0])) + continue; + if (num && (len + num < sizeof(passwd))) { memcpy(passwd + len, buf, num); len += num; }