XkbSetNamedIndicator(3) XKB FUNCTIONS XkbSetNamedIndicator(3)

# [NAME](#NAME)

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

# [SYNOPSIS](#SYNOPSIS)

**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);**

# [ARGUMENTS](#ARGUMENTS)

[*dpy*](#dpy)

connection to the X server

[*device\_spec*](#device_spec)

device ID, or XkbUseCoreKbd

[*led\_class*](#led_class)

feedback class, or XkbDfltXIClass

[*led\_id*](#led_id)

feedback ID, or XkbDfltXIId

[*name*](#name)

name of the indicator to change

[*change\_state*](#change_state)

whether to change the indicator state or not

[*state*](#state)

desired new state for the indicator

[*create\_new*](#create_new)

whether a new indicator with the specified name should be created when necessary

[*map*](#map)

new map for the indicator

# [DESCRIPTION](#DESCRIPTION)

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*.

# [RETURN VALUES](#RETURN_VALUES)

[True](#True)

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

[False](#False)

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

# [DIAGNOSTICS](#DIAGNOSTICS)

[**BadAtom**](#BadAtom)

A name is neither a valid Atom or None

[**BadImplementation**](#BadImplementation)

Invalid reply from server

[**BadKeyboard**](#BadKeyboard)

*device\_spec* does not specify a device with indicators.

[**BadMatch**](#BadMatch)

*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*.

[**BadValue**](#BadValue)

*led\_class* does not specify **DfltXIClass**, **LedFeedbackClass**, or **KbdFeedbackClass**.

# [SEE ALSO](#SEE_ALSO)

[**XkbIndicatorMapNotify**(3)](/man/os/libx11/XkbIndicatorMapNotify.3), [**XkbIndicatorStateNotify**(3)](/man/os/libx11/XkbIndicatorStateNotify.3), [**XkbNamesNotify**(3)](/man/os/libx11/XkbNamesNotify.3)

libX11 1.8.14 X Version 11

---

Document: XkbSetNamedDeviceIndicator(3) from libx11 1.8.14-r2 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
