diff --git a/glfw/x11_window.c b/glfw/x11_window.c index e8473c22d..3e25361bb 100644 --- a/glfw/x11_window.c +++ b/glfw/x11_window.c @@ -3386,8 +3386,13 @@ _glfwPlatformSetWindowBlur(_GLFWwindow *window, int blur_radius) { bool _glfwPlatformGrabKeyboard(bool grab) { - if (grab) _glfwInputError(GLFW_PLATFORM_ERROR, "X11: Grabbing of keyboard is not currently supported"); - return false; + int result; + if (grab) { + result = XGrabKeyboard(_glfw.x11.display, _glfw.x11.root, True, GrabModeAsync, GrabModeAsync, CurrentTime); + } else { + result = XUngrabKeyboard(_glfw.x11.display, CurrentTime); + } + return result == GrabSuccess; } //////////////////////////////////////////////////////////////////////////