XkbGetDeviceLedInfo queries the server for the desired LED information for the feedback specified by
led_class and led_id for the X input extension device indicated by device_spec->device_info and waits for
a reply. If successful, XkbGetDeviceLedInfo backfills the relevant fields of device_info as determined by
which with the results and returns Success. Valid values for which are the inclusive OR of any of
XkbXI_IndicatorNamesMask, XkbXI_IndicatorMapsMask, and XkbXI_IndicatorStateMask.
The fields of device_info that are filled in when this request succeeds are name,type,supported, and
unsupported, and portions of the leds structure corresponding to led_class and led_id as indicated by the
bits set in which. The device_info->leds vector is allocated if necessary and sz_leds and num_leds
filled in. The led_class,led_id and phys_indicators fields of the device_info->leds entry corresponding
to led_class and led_id are always filled in.
If which contains XkbXI_IndicatorNamesMask, the names_present and names fields of the device_info->leds
structure corresponding to led_class and led_id are updated, if which contains XkbXI_IndicatorStateMask,
the corresponding state field is updated, and if which contains XkbXI_IndicatorMapsMask, the maps_present
and maps fields are updated.
If a compatible version of Xkb is not available in the server or the Xkb extension has not been properly
initialized, XkbGetDeviceLedInfo returns BadAccess. If allocation errors occur, a BadAlloc status is
returned. If the device has no indicators, a BadMatch error is returned. If ledClass or ledID have
illegal values, a BadValue error is returned. If they have legal values but do not specify a feedback
that contains LEDs and is associated with the specified device, a BadMatch error is returned.