XkbSetNamedIndicator(3)

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

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

dpy connection to the X server

device_spec
    device ID, or XkbUseCoreKbd

led_class
    feedback class, or XkbDfltXIClass

led_id
    feedback ID, or XkbDfltXIId

name
    name of the indicator to change

change_state
    whether to change the indicator state or not

state
    desired new state for the indicator

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

map new map for the indicator

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

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

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

DIAGNOSTICS

BadAtom
    A name is neither a valid Atom or None

BadImplementation
    Invalid reply from server

BadKeyboard
    device_spec does not specify a device with indicators.

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
    led_class does not specify DfltXIClass, LedFeedbackClass, or KbdFeedbackClass.

SEE ALSO
XkbIndicatorMapNotify(3), XkbIndicatorStateNotify(3), XkbNamesNotify(3)