You can pass GrabModeSync or GrabModeAsync . It is not required that all modifiers specified have currently assigned KeyCodes. A keycode argument of AnyKey is equivalent to issuing the request for all possible KeyCodes. Diagnostics BadAccess A client attempted to free a color map entry that it did not already allocate. BadAccess A client attempted to store into a read-only color map entry.
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error. BadWindow A value for a Window argument does not name a defined Window.