DOKK / manpages / debian 10 / libx11-doc / XkbSetNamedDeviceIndicator.3.en
XkbSetNamedIndicator(3) XKB FUNCTIONS XkbSetNamedIndicator(3)

XkbSetNamedIndicator - Names an indicator if it is not already named; toggles the state of the indicator; sets the indicator to a specified state and sets the indicator map for the indicator

Bool XkbSetNamedDeviceIndicator (Display *dpy, unsigned int device_spec, unsigned int led_class, unsigned int led_id, Atom name, Bool change_state, Bool state, Bool create_new, XkbIndicatorMapPtr map); Bool XkbSetNamedIndicator (Display *dpy, Atom name, Bool change_state, Bool state, Bool create_new, XkbIndicatorMapPtr map);

connection to the X server
device ID, or XkbUseCoreKbd
feedback class, or XkbDfltXIClass
feedback ID, or XkbDfltXIId
name of the indicator to change
whether to change the indicator state or not
desired new state for the indicator
whether a new indicator with the specified name should be created when necessary
new map for the indicator

If a compatible version of the Xkb extension is not available in the server, XkbSetNamedDeviceIndicator returns False. Otherwise, it sends a request to the X server to change the indicator specified by name and returns True.

If change_state is True, XkbSetNamedDeviceIndicator tells the server to change the state of the named indicator to the value specified by state. If change_state is False, then state is not used.

If an indicator with the name specified by name does not already exist, the create_new parameter tells the server whether it should create a new named indicator. If create_new is True, the server finds the first indicator that doesn't have a name and gives it the name specified by name. If the optional parameter, map, is not NULL, XkbSetNamedDeviceIndicator tells the server to change the indicator's map to the values specified in map.

In addition, it can also generate XkbIndicatorStateNotify, XkbIndicatorMapNotify, and XkbNamesNotify events.

XkbSetNamedIndicator is a convenience function that calls XkbSetNamedDeviceIndicator with a device_spec of XkbUseCoreKbd, a led_class of XkbDfltXIClass, and a led_id of XkbDfltXIId. It returns the return value from XkbSetNamedDeviceIndicator.

The XkbSetNamedIndicator and XkbSetNamedDeviceIndicator functions return True if a compatible version of the Xkb extension is available in the server.
The XkbSetNamedIndicator and XkbSetNamedDeviceIndicator functions return False if a compatible version of the Xkb extension is not available in the server.

A name is neither a valid Atom or None
Invalid reply from server
device_spec does not specify a device with indicators.
led_id is not DfltXIId and does not specify a feedback of the class specified by led_class on the device specified by device_spec.
led_class does not specify DfltXIClass, LedFeedbackClass, or KbdFeedbackClass.

XkbIndicatorMapNotify(3), XkbIndicatorStateNotify(3), XkbNamesNotify(3)

libX11 1.6.7 X Version 11