summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/x11/red_window.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp
index d82f5b74..7e16fcd2 100644
--- a/client/x11/red_window.cpp
+++ b/client/x11/red_window.cpp
@@ -1765,9 +1765,13 @@ void RedWindow::do_start_key_interception()
// that reason we temporary disable focus event handling. Same happens
// LeaveNotify and EnterNotify.
+ if (getenv("SPICE_NOGRAB"))
+ return;
+
ASSERT(_focused);
XLockDisplay(x_display);
XGrabKeyboard(x_display, _win, True, GrabModeAsync, GrabModeAsync, CurrentTime);
+
XUnlockDisplay(x_display);
sync(true);
_listener.on_start_key_interception();
@@ -1845,6 +1849,9 @@ void RedWindow::release_mouse()
void RedWindow::capture_mouse()
{
+ if (getenv("SPICE_NOGRAB"))
+ return;
+
int grab_retries = MOUSE_GRAB_RETRIES;
XLockDisplay(x_display);
XSync(x_display, False);