Jump to content
Corsair Community

On reconnect: Handshake succeeds but CorsairGetLedPositions returns array of length 0


ygolohcisp
 Share

Recommended Posts

In my application I try reconnecting to CUE whenever my keyboard was disconnected, in a loop.

Usually CorsairGetLedPositions() returns an array with the valid / expected LED data. But when I try to reconnect every frame and then start the CUE Software, there is a short time window where the handshake already succeeds but CorsairGetLedPositions() doesn't seem to be "ready" yet: It returns an array of length 0. The pointer is NOT NULL, just the length of the array (numberOfLeds).

 

So what I do as a workaround in my handshake code, is, I manually check if numberOfLeds is 0 and if so, I return CE_ServerNotFound, even though technically the server was already found by CorsairPerformProtocolHandshake() before, and I also established exclusive control successfully.

 

This workaround works but I just want to 1. let people know who are in a similar situation and 2. ask if the CUE SDK developers are aware of this and if there are plans to fix this?

Link to comment
Share on other sites

 Share

×
×
  • Create New...