XkbLatchModifiers man page
XkbLatchModifiers — Latches and unlatches any of the eight real keyboard modifiers
Bool XkbLatchModifiers (Display *display, unsigned int device_spec, unsigned int affect, unsigned int values);
connection to the X server
device ID, or XkbUseCoreKbd
mask of real modifiers whose lock state is to change
1 => lock, 0 => unlock; only for modifiers selected by affect
XkbLatchModifiers sends a request to the server to latch the real modifiers selected by both affect and values and to unlatch the real modifiers selected by affect , but not selected by values.
XkbLatchModifiers does not wait for a reply from the server. It returns True if the request was sent, and False otherwise.
The functions in this section that change the use of modifiers use a mask in the parameter affect. It is a bitwise inclusive OR of the legal modifier masks:
|Table 1 Real Modifier Masks|
The XkbLatchModifiers function returns True if a request was sent to the server to latch the real modifiers selected by both affect and values and to unlatch the real modifiers selected by affect , but not selected by values.
The XkbLatchModifiers function returns False if the request was not sent.