Block_Mouse/Block_Mouse.c

40 lines
924 B
C
Raw Normal View History

2024-07-12 15:11:31 +02:00
#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;
2024-08-28 21:58:35 +02:00
while (1) {
2024-07-12 15:11:31 +02:00
XNextEvent(display, &ev);
if (ev.type == KeyPress) {
if (XLookupKeysym(&ev.xkey, 0) == XK_Escape) {
2024-08-28 21:58:35 +02:00
break; // Quitte le programme si ctrl + C est pressé
2024-07-12 15:11:31 +02:00
}
}
2024-08-28 21:58:35 +02:00
}
2024-07-12 15:11:31 +02:00
// Libérer la souris
XUngrabPointer(display, CurrentTime);
XCloseDisplay(display);
return 0;
}