Commit 7e571230 authored by Peter Hutterer's avatar Peter Hutterer

tools: grab the pointer in the debug gui

Because it's too annoying to trigger the hot corner every few seconds while
pointer debugging.
Signed-off-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
parent 980ad92c
......@@ -8,7 +8,9 @@ libinput\-debug\-gui \- visual debug helper for libinput
The
.B "libinput debug\-gui"
tool creates a libinput context and a full-screen GTK window to visualize
events processed by libinput.
events processed by libinput. This tool exclusively grabs pointing devices
and stops them from interacting with the rest of the GUI.
.B Hit Esc to exit this tool.
.PP
This is a debugging tool only, its output or behavior may change at any
time. Do not rely on the output or the behavior.
......
......@@ -383,6 +383,7 @@ map_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
{
struct window *w = data;
GdkDisplay *display;
GdkSeat *seat;
GdkWindow *window;
gtk_window_get_size(GTK_WINDOW(widget), &w->width, &w->height);
......@@ -410,6 +411,17 @@ map_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
gdk_window_set_cursor(gtk_widget_get_window(w->win),
gdk_cursor_new_for_display(display,
GDK_BLANK_CURSOR));
seat = gdk_display_get_default_seat(display);
gdk_seat_grab(seat,
window,
GDK_SEAT_CAPABILITY_ALL_POINTING,
FALSE, /* owner-events */
NULL, /* cursor */
NULL, /* triggering event */
NULL, /* prepare_func */
NULL /* prepare_func_data */
);
}
static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment