Xkb also allows applications to refer to indicators by name. Use XkbGetNames to get the indicator names. Using names eliminates the need for hard-coding bitmask values for particular keyboards. For example, instead of using vendor-specific constants such as WSKBLed_ScrollLock mask on Digital workstations or XLED_SCROLL_LOCK on Sun workstations, you can instead use XkbGetNamedDeviceIndicator to look up information on the indicator named "Scroll Lock."
If the device specified by device_spec has an indicator named name, XkbGetNamedDeviceIndicator returns True and populates the rest of the parameters with information about the indicator. Otherwise, XkbGetNamedDeviceIndicator returns False.
The ndx_rtrn field returns the zero-based index of the named indicator. This index is the bit position to use in any function call that requires a mask of indicator bits, as well as the indicator's index into the XkbIndicatorRec array of indicator maps. state_rtrn returns the current state of the named indicator (True = on, False = off). map_rtrn returns the indicator map for the named indicator. In addition, if the indicator is mapped to a physical LED, the real_rtrn parameter is set to True.
Each of the " _rtrn " arguments is optional; you can pass NULL for any unneeded " _rtrn " arguments.
XkbGetNamedIndicator is a convenience function that calls XkbGetNamedDeviceIndicator with a device_spec of XkbUseCoreKbd, a led_class of XkbDfltXIClass, and a led_id of XkbDfltXIId. It returns the return value from XkbGetNamedDeviceIndicator.