zllovesuki / G14Manager

An open source alternative to manage your ROG Zephyrus G14: Supports changing Fan Profile, rebind most keys (including ROG Key), and changing Windows' Power Options
GNU General Public License v3.0
98 stars 11 forks source link

Chore: Investigate AniMe Matrix Control Integration #57

Closed zllovesuki closed 3 years ago

zllovesuki commented 3 years ago

Community member @thesacredmoocow has written a C# C++ program (https://github.com/thesacredmoocow/G14MatrixControl) for controlling the AniMe Matrix LEDs. Investigate if porting to Go is viable, or integrating as binary with gRPC communication is viable.

thesacredmoocow commented 3 years ago

Originally written in c++, and it uses the winUSB part of the windows sdk, so long as that's present it can be ported.

zllovesuki commented 3 years ago

I meant to say C++. Somehow I always thought of .sln are C# projects 😂

zllovesuki commented 3 years ago

I wonder if I can simply add C bindings in Go, then let cgo handles the rest.

zllovesuki commented 3 years ago

https://github.com/flukejones/rog-core/blob/master/rog-core/src/animatrix_control.rs but for Linux using libusb driver

zllovesuki commented 3 years ago

Syscalling via DLL is successful: https://github.com/zllovesuki/G14Manager/commits/matrix_control

image