Jump to content

Search the Community

Showing results for tags 'sdk'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Categories

  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Member Title


Location


WWW


Interests

Found 1 result

  1. Corsair CUE SDK Provides easy functions to call the Corsair CUE SDK with AutoIt. Required files can be downloaded from Corsairs hompage Code tested with a K95 RGB Keyboard. Other devices may not work with the test scripts. CUE_SDK.au3 Version 0.1.1 CUE_SDK_LFX.au3 Version 0.0.1 Disclaimer: Using the x86 DLL results in crash when calling "CorsairPerformProtocolHandshake". I will fix this in the future if possible. CUE SDK Example: #include "CUE_SDK.au3" #AutoIt3Wrapper_UseX64=Y $hCUESDKDLL=DllOpen(@AutoItX64?"CUESDK.x64_2015.dll":"CUESDK_2015.dll") CorsairPerformProtocolHandshake($hCUESDKDLL) If @error<>0 Then Exit MsgBox(0, @error, "Handshake failed") $iDeviceCount=CorsairGetDeviceCount($hCUESDKDLL) MsgBox(0, "CorsairGetDeviceCount", "@error: "&@error&@CRLF&"Return: "&$iDeviceCount) $tCorsairLedPositions=CorsairGetLedPositions($hCUESDKDLL) MsgBox(0, "numberOfLed", $tCorsairLedPositions.numberOfLed) $tCorsairLedColor=DllStructCreate($tagCorsairLedColor) $tCorsairLedPosition=DllStructCreate($tagCorsairLedPosition, $tCorsairLedPositions.pLedPosition) For $i=1 To $tCorsairLedPositions.numberOfLed $tCorsairLedColor.ledId=$tCorsairLedPosition.ledId $tCorsairLedColor.r=Mod($i, 2)?255:0 $tCorsairLedColor.g=Mod($i, 2)?0:255 $tCorsairLedColor.b=Mod($i, 2)?255:0 $bSuccess = CorsairSetLedsColors($hCUESDKDLL, $tCorsairLedColor) If $bSuccess=0 Then Exit MsgBox(0, "["&$i&"] : "&$tCorsairLedColor.ledId, _CorsairErrorToString(CorsairGetLastError($hCUESDKDLL))) $tCorsairLedPosition=DllStructCreate($tagCorsairLedPosition, DllStructGetPtr($tCorsairLedPosition)+DllStructGetSize($tCorsairLedPosition)) Sleep(100) Next MsgBox(0, "", "pause") $tCorsairLedColor=DllStructCreate("INT["&(($tCorsairLedPositions.numberOfLed)*4)&"]") $tCorsairLedPosition=DllStructCreate($tagCorsairLedPosition, $tCorsairLedPositions.pLedPosition) For $i=1 To $tCorsairLedPositions.numberOfLed DllStructSetData($tCorsairLedColor, 1, $tCorsairLedPosition.ledId, 1+(($i-1)*4)) DllStructSetData($tCorsairLedColor, 1, 255, 2+(($i-1)*4)) DllStructSetData($tCorsairLedColor, 1, 0, 3+(($i-1)*4)) DllStructSetData($tCorsairLedColor, 1, 0, 4+(($i-1)*4)) $tCorsairLedPosition=DllStructCreate($tagCorsairLedPosition, DllStructGetPtr($tCorsairLedPosition)+DllStructGetSize($tCorsairLedPosition)) Next $bSuccess = CorsairSetLedsColors($hCUESDKDLL, $tCorsairLedColor) If $bSuccess=0 Then MsgBox(0, "", _CorsairErrorToString(CorsairGetLastError($hCUESDKDLL))) MsgBox(0, "CorsairSetLedsColors", "@error: "&@error&@CRLF&"Return: "&$bSuccess) Sleep(1000) CorsairReleaseControl($hCUESDKDLL, $CAM_ExclusiveLightingControl) DllClose($hCUESDKDLL) Exit Func _CorsairErrorToString($i) Switch $i Case $CE_Success Return "previously called function completed successfully" Case $CE_ServerNotFound Return "CUE is not running or was shut down or third-party control is disabled in CUE settings(runtime error)" Case $CE_NoControl Return "some other client has or took over exclusive control (runtime error)" Case $CE_ProtocolHandshakeMissing Return "developer did not perform protocol handshake(developer error)" Case $CE_IncompatibleProtocol Return " developer is calling the function that is not supported by the server(either because protocol has broken by server or client or because the function is new and server is too old. Check CorsairProtocolDetails for details) (developer error)" Case $CE_InvalidArguments Return "developer supplied invalid arguments to the function(for specifics look at function descriptions). (developer error)" Case Else Return SetError(1, 1, 0) EndSwitch EndFunc CUE SDK LFX Example: #include "..\CUE_SDK.au3" #include "..\CUE_SDK_LFX.au3" #AutoIt3Wrapper_UseX64=Y $hCUESDKDLL=DllOpen(@AutoItX64?"CUESDK.x64_2015.dll":"CUESDK_2015.dll") $hCUESDK_LFXDLL=DllOpen(@AutoItX64?"CUELFX.x64_2013.dll":"CUELFX_2013.dll") $tHandshake=CorsairPerformProtocolHandshake($hCUESDKDLL) CorsairRequestControl($hCUESDKDLL, $CAM_ExclusiveLightingControl) If @error<>0 Or $tHandshake=0 Then Exit MsgBox(0, @error, "Handshake failed") $iDeviceCount=CorsairGetDeviceCount($hCUESDKDLL) If @error<>0 Or $iDeviceCount=0 Then Exit MsgBox(0, @error, "No devices") $tCorsairLedPositions=CorsairGetLedPositions($hCUESDKDLL) CUELFXSetLedPositions($hCUESDK_LFXDLL, DllStructGetPtr($tCorsairLedPositions)) $tLeds=DllStructCreate("INT["&( $CLK_Application - $CLK_GraveAccentAndTilde + $CLK_Backspace - $CLK_BracketRight + 3 )&"]") $j=1 For $i=$CLK_GraveAccentAndTilde To $CLK_Application DllStructSetData($tLeds, 1, $i, $j) $j+=1 Next For $i=$CLK_BracketRight To $CLK_Backspace DllStructSetData($tLeds, 1, $i, $j) $j+=1 Next DllStructSetData($tLeds, 1, $CLK_RightShift, $j) $j+=1 DllStructSetData($tLeds, 1, $CLK_RightCtrl, $j) $j+=1 DllStructSetData($tLeds, 1, $CLK_Fn, $j) $pEffect=CUELFXCreateSpiralRainbowEffect($hCUESDK_LFXDLL, $tLeds, $CLES_Slow, $CLECD_CounterClockwise) If $pEffect=0 Then Exit MsgBox(0, "", "Failed to create spiral rainbow effect") $tEffect=DllStructCreate($tagCorsairEffect, $pEffect) ;play $hTime=TimerInit() Sleep(100) $iTime=TimerDiff($hTime) While 1 $pFrame=CUELFXGetFrame($hCUESDK_LFXDLL, $tEffect.effectId, $iTime) $tFrame=DllStructCreate($tagCorsairFrame, $pFrame) If $pFrame>0 And $tFrame.ledsColors Then $tCorsairLedColors=DllStructCreate("INT["&$tFrame.Size*4&"]", $tFrame.ledsColors) $bSuccess=CorsairSetLedsColors($hCUESDKDLL, $tCorsairLedColors) EndIf $iTime=TimerDiff($hTime) If $iTime>10000 Then ExitLoop Sleep(25) WEnd CorsairReleaseControl($hCUESDKDLL, $CAM_ExclusiveLightingControl) DllClose($hCUESDK_LFXDLL) DllClose($hCUESDKDLL) Newest version will be posted here. Older versions can be found on GitHub
×
×
  • Create New...