# Additional Corsair iCUE functions
Wallpaper Engine also allows you to access specific Corsair iCUE SDK functions directly, though this is specifically limited to iCUE. This is likely not necessary for the large majority of use-cases and the advice in the general RGB Hardware Support guide should suffice for most cases.
# Function overview
The following functions are available via the window.cue
object. Make sure to first check if the cue
plugin is loaded via the window.wallpaperPluginListener
as explained in the RGB Hardware Support article.
In order to work with this guide, you need to look at the source code of the iCUE C++ SDK in cases where we mention certain files or functions below. A simple web search will usually allow you to find the source code, as it is open source.
# getProtocolDetails
Returns current status and version of iCUE SDK.
C++ SDK equivalent to CorsairProtocolDetails
returned after handshake with iCUE.
window.cue.getProtocolDetails(function (protocolDetails) {});
See CorsairProtocolDetails
in C++ SDK.
protocolDetails
members:
- sdkVersion
- serverVersion
- sdkProtocolVersion
- serverProtocolVersion
- breakingChanges
# getDeviceCount
Returns the number of recognized iCUE compatible devices on the system.
C++ SDK equivalent to CorsairGetDeviceCount();
window.cue.getDeviceCount(function (deviceCount) {});
# getDeviceInfo
Returns all information specific to a single device.
C++ SDK equivalent to CorsairGetDeviceInfo();
window.cue.getDeviceInfo(deviceIndex, function (deviceInfo) {});
deviceInfo
members:
- type: see CorsairDeviceType in CUESDK.h
- model: human readable name of the device
- physicalLayout: see CorsairPhysicalLayout in CUESDK.h
- logicalLayout: see CorsairLogicalLayout in CUESDK.h
- ledCount: number of available LEDs
- capsMask: see CorsairDeviceCaps in CUESDK.h
# getLedPositionsByDeviceIndex
Returns all available LED information for specified device.
C++ SDK equivalent to CorsairGetLedPositionsByDeviceIndex();
window.cue.getLedPositionsByDeviceIndex(function (arrayOfLEDs) {});
See CorsairLedPosition
in C++ SDK.
Members of objects in arrayOfLEDs
array:
- ledId: CorsairLedId as integer
- ledIdName: CorsairLedId as string
- top: value in mm
- left: value in mm
- width: value in mm
- height: value in mm
# setLedsColorsAsync
Updates all LEDs specified via parameter. List all available LEDs via getLedPositionsByDeviceIndex
above.
C++ SDK equivalent to CorsairSetLedsColorsAsync();
window.cue.setLedsColorsAsync(arrayOfLEDColors);
Members of objects in arrayOfLEDColors
array (see CorsairLedColor
in C++ SDK):
- ledId: CorsairLedId as integer
- r
- g
- b
# setAllLedsColorsAsync
Updates all LEDs for given devices to one specific color.
C++ SDK equivalent to CorsairSetLedsColorsAsync();
window.cue.setAllLedsColorsAsync(deviceIndexOrArray, LEDColor);
Members of LEDColor
(see CorsairLedColor
in C++ SDK):
- ledId: CorsairLedId as integer
- r
- g
- b
# setLedColorsByImageData
Updates all LEDs of given devices based on an RGB bitmap provided from an HTML canvas, for example.
window.cue.setLedColorsByImageData(deviceIndexOrArray, encodedImageData, width, height);
This function is very similar to window.wpPlugins.led.setAllDevicesByImageData
as explained in the main RGB Hardware Support guide. The main difference is that it requires you to supply a specific deviceIndexOrArray
as the first parameter.