40 lines
924 B
C
40 lines
924 B
C
#include <stdio.h>
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
|
|
int main() {
|
|
Display *display;
|
|
Window root;
|
|
|
|
display = XOpenDisplay(NULL);
|
|
|
|
if (!display) {
|
|
fprintf(stderr, "Impossible d'ouvrir l'affichage\n");
|
|
return 1;
|
|
}
|
|
|
|
root = DefaultRootWindow(display);
|
|
|
|
// Capturer la souris
|
|
XGrabPointer(display, root, False, ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
|
|
|
|
printf("La souris est actuellement bloquée. Quittez le programme pour pouvoir l'utilisé de nouveau\n");
|
|
|
|
XEvent ev;
|
|
while (1) {
|
|
XNextEvent(display, &ev);
|
|
|
|
if (ev.type == KeyPress) {
|
|
if (XLookupKeysym(&ev.xkey, 0) == XK_Escape) {
|
|
break; // Quitte le programme si ctrl + C est pressé
|
|
}
|
|
}
|
|
}
|
|
|
|
// Libérer la souris
|
|
XUngrabPointer(display, CurrentTime);
|
|
|
|
XCloseDisplay(display);
|
|
return 0;
|
|
}
|