antonpup / Aurora

Unified lighting effects across multiple brands and various games.
http://www.project-aurora.com/
MIT License
1.83k stars 367 forks source link

Ajazz AK-33 Support #1699

Closed jasonaldiss closed 3 years ago

jasonaldiss commented 5 years ago

Hello ! I am not a coding master, but the Ajazz AK-33 RGB is a popular budget keyboard and I'd love to see implementation of it in Aurora. I saw this issue was brought up a couple of years ago but was turned down due to it not having an SDK. Well, before their website was shut down, I grabbed the software and reuploaded it, translated it to english, and it's available to download for anyone. I'm leaving the link here, and hopefully you may be able to do something with it :)

https://www.dropbox.com/sh/zmgiuwzurr0bb54/AADreQMFdIEiylcJcRmEd_qwa?dl=0

By the way, I already posted this, but under the wrong issue label.

Thanks a bunch for making this awesome software !

diogotr7 commented 5 years ago

That software looks familiar to me. I've seen multiple small companies having softwares with the same dll and a folder with assets to make the app look different.

I suspect it's a generic program for keyboard lighting that can be modified to work with different hardware. Maybe if we could figure out how it works it would be possible to support more devices?

jasonaldiss commented 5 years ago

That software looks familiar to me. I've seen multiple small companies having softwares with the same dll and a folder with assets to make the app look different.

I suspect it's a generic program for keyboard lighting that can be modified to work with different hardware. Maybe if we could figure out how it works it would be possible to support more devices?

Yes, I myself own an Ajazz-AK33 and with a bit of playing around I managed to make it work with the Glorious Modular Mechanical Keyboard software since they both had very similar software (as you mentioned, same dll with different skins). I tried decompling the .exe yesterday to fish out the source code but I had a hard time doing so and to no avail. It seems like a very simple piece of software though, and I'm sure someone with enough knowledge could easily fish out the source code.

diogotr7 commented 5 years ago

I'm curious, how exactly did you manage to make it work with the gmmk?

jasonaldiss commented 5 years ago

I'm curious, how exactly did you manage to make it work with the gmmk?

I remember copying and pasting the HidServ.dll from the Ajazz folder into the GMMK one and replacing it, but it could also work without that change.

jasonaldiss commented 5 years ago

I'm curious, how exactly did you manage to make it work with the gmmk?

I remember copying and pasting the HidServ.dll from the Ajazz folder into the GMMK one and replacing it, but it could also work without that change.

Regardless, this shows that only one type of source code is needed for a big selection of keyboards with only slight changes, since every version of the GMMK uses the same type of software.

gitmacer commented 5 years ago

BTW someone reverse engineered the keyboard https://github.com/thanks4opensource/NotLinuxAjazzAK33RGB

jasonaldiss commented 5 years ago

Did you manage to do anything with the software?

diogotr7 commented 4 years ago

I recently bought this keyboard and used the repository macer mentioned to write a small c# tool. I found out that you can't (to my knowledge) set colors to he keyboard in realtime. The only way you can do that is by writing to the keyboard flash which:

  1. Takes to long,
  2. Disables input for a couple of seconds,
  3. Degrades the flash with writes until it is no longer usable.

If you could give me more info on how exactly you made it work with the gmmk software i could look into it further, but for now aurora supoport seems impossible to achieve.

diogotr7 commented 4 years ago

@jasonaldiss could you please share what you did to make the keyboard work with the gmmk software? I'm curious if this method does something I'm not aware of.

GalvareyPoco commented 4 years ago

@diogotr7, sorry for my other post, i have a response to your question, i tried installing the gmmk software and just putting my redragon default program there and it worked, https://imgur.com/a/o0lAWaC here you can see i just copied the default program, not even the hidserv.dll just the program and executed it

shinji257 commented 3 years ago

Looking at this thread I don't see support coming especially after looking at that github that was linked earlier. Even still though I checked HidServ.dll on Ajazz, Redragon, and GMMK and they all used the exact same DLL file. The only differences were the executables so whatever is going on is hidden there. The DLL is just a generic interface as far as I can tell.

diogotr7 commented 3 years ago

I forgot about this issue. What i said above is still true: Aurora support for this keyboard will never be possible (at least not without some sort of firmware hack). The same applies for all the keyboards which work with similar logic boards (redragon, gmmk, other clones). The RGB can be controlled using OpenRGB with some tweaks. When I have time i'll try to get my keyboard working fully with OpenRGB and submit a merge request.