Screenlock: Recognize keyrelease rather than keydown to avoid inadvertent exits
E.g. so now you distinctively have to press down the powerbutton three times rather than holding (which is easy to do inadvertently in pocket) to exit screenlock.
This commit is contained in:
parent
a50f1d3093
commit
92e048a153
1 changed files with 3 additions and 1 deletions
|
@ -6,6 +6,7 @@
|
|||
#include <unistd.h>
|
||||
#include <X11/keysym.h>
|
||||
#include <X11/XF86keysym.h>
|
||||
#include <X11/XKBlib.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
|
||||
|
@ -177,7 +178,7 @@ readinputloop(Display *dpy, int screen) {
|
|||
|
||||
if (FD_ISSET(xfd, &fdset) && XPending(dpy)) {
|
||||
XNextEvent(dpy, &ev);
|
||||
if (ev.type == KeyPress) {
|
||||
if (ev.type == KeyRelease) {
|
||||
XLookupString(&ev.xkey, buf, sizeof(buf), &keysym, 0);
|
||||
if (lastkeysym == keysym) {
|
||||
lastkeyn++;
|
||||
|
@ -282,6 +283,7 @@ main(int argc, char **argv) {
|
|||
if (!(dpy = XOpenDisplay(NULL)))
|
||||
die("Cannot open display\n");
|
||||
|
||||
XkbSetDetectableAutoRepeat(dpy, True, NULL);
|
||||
screen = XDefaultScreen(dpy);
|
||||
XSync(dpy, 0);
|
||||
getoldbrightness();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue