Я пытаюсь создать простой регистратор глобальных ключей в Linux, используя X11 / Xlib.h
Я видел Глобальную горячую клавишу с X11 / Xlib , но это, кажется, специфичнона одну горячую клавишу.Когда я пытаюсь вызвать XGrabKey, я получил
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 33 (X_GrabKey)
Вот мой текущий код, который не реагирует на нажатие (или отпускание) клавиши.
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main() {
Display *display = XOpenDisplay(NULL);
Window root = DefaultRootWindow(display);
XEvent ev;
XSelectInput(display, root, KeyPressMask | KeyReleaseMask );
while(1) {
printf("Waiting\n");
XNextEvent(display, &ev);
switch(ev.type) {
case KeyPress:
printf("Pressed\n");
break;
default:
break;
}
}
XCloseDisplay(display);
return 0;
}