XkbGetState man page
XkbGetState — Obtains the keyboard state
Status XkbGetState (Display *display, unsigned int device_spec, XkbStatePtr state_return);
connection to the X server
device ID, or XkbUseCoreKbd
backfilled with Xkb state
The XkbGetState function queries the server for the current keyboard state, waits for a reply, and then backfills state_return with the results.
All group values are expressed as group indices in the range [0..3]. Modifiers and the compatibility modifier state values are expressed as the bitwise union of the core X11 modifier masks. The pointer button state is reported as in the core X11 protocol.