Archomeda / lightfx-extender

Allows gamers to take advantage of LightFX on hardware other than Alienware's
GNU General Public License v2.0
36 stars 7 forks source link

Clevo Notebooks Support - Is this project still alive? I can contribute. #28

Open rkkoszewski opened 8 years ago

rkkoszewski commented 8 years ago

Hi, Is the LightFX-Extender project still alive? Would anybody be interested in Clevo Notebook support?

The latest Clevo Hotkey software exposes a WMI Interface which allows 3rd party apps to change the colors of the keyboard LEDs.

I have already implemented a working solution in C# and it works pretty well. But as far as I understand C# doesn't play too well together with C++, so I'm planning to implement the solution in C++, although my knowledge of the WMI Interface in C++ is very limited.

Is there any app to test the light fx without having to run any games?

Greetings.

antonpup commented 8 years ago

Hey, you could run a simple LightFX game that doesn't require any playing while delivering various effects. Robot Roller-Derby Disco Dodgeball was the game I used for my other RGB project called, Aurora.

Speaking of Aurora, if you're interested in helping add Clevo Notebook support I would greatly appreciate it. That is to say that I don't want to discourage you from contributing to this project either. Aurora's in C#, so your working implementation should fit right in, here's a quick explanation on adding new devices.

rkkoszewski commented 8 years ago

Hi, so I managed to implement a working solution in C++ too.

Right now I'm trying to integrate it into LightFX Extender but I'm somehow failing to understand how to distinguish multiple lights in the LightFX Extender software.

My current implementation features 3 basic functions:

MODES in detail: ColorKBLeft: Left region of the Keyboard ColorKBCenter: Central part of the Keyboard ColorKBRight: Right part of the Keyboard ColorTouchpad: Touchpad Color

I just need some feedback from somebody who knows how LightFX Extender works regarding to "number of lights" and "LightData". And "Light Description"? Are there ID's or something for the descriptions to use for Keyboard and/or touchpads?

Could somebody provide a LightData example for a 3 region Keyboard and Touchpad? That would help me out a lot.

Greetings and thanks.

P.D: @antonpup My C# implementation uses the same function structure as the one I have in C++, so once I have it working here, I could help you with a Clevo implementation for Aurora.

solhuebner commented 8 years ago

Unfortunately I had to sell my Clevo. But unified development like Aurora is great and thanks for supporting it!

rkkoszewski commented 8 years ago

Status update: For those interested, I already have a very brute force implementation already working with lightfx-extender. I tested it yesterday with Broforce and it's working nicely. It's still not finished as I'm spawning a new thread and COM/WMI connection for every call to "PushColorToDevice", but I know how to overcome the limitation and use only one always running thread.

I just still don't quite understand how the "LightData" position works.. Is it in Centimeters? Right now I have 4 light sources: KBLeft: 1,1,2 KBCenter: 2,1,2 KBRight: 3,1,2 Touchpad: 2,1,4

Not sure if it's correct. It works with Broforce, but they Keyboard looks weird sometimes. Any input on this?

rkkoszewski commented 8 years ago

So here it goes: https://github.com/Archomeda/lightfx-extender/pull/29

Here is a compiled version for those who have Clevo Notebooks to test it out. Please note that to make it work with Clevo devices you need to run the game/app with Administrator credentials. This is required in order to communicate with the Clevo WMI interface (I don't know why they forced Admin rights on this). You probably need the latest Clevo Hotkeys too in order for it to work.

LightFX.WithClevoSupport.zip

This works on my own Clevo Notebook, any other Clevo user out there who would like to try this out and give some input?

Greetings.