Git Product home page Git Product logo

Comments (14)

dokutan avatar dokutan commented on August 11, 2024

Thanks a lot for the feedback.
It would indeed be great if you could report the results from your compatibility tests.

As far as setting the lighting non-permanently, unfortunately i don't see a possibility, unless i missed something, as the official software does not support it.

At the moment it takes quite a while (edit: 2.5 seconds) to set a complete custom pattern, this is because i set each key individually. There is a way to do this much faster, however i have not currently implemented that (i might do that if there turns out to be an interest in it). Another problem would be, that the kernel driver gets detached during the writing of any settings, so no input is possible during this period (again if there is interest that could probably be changed).(No longer the case).

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

unfortunately none of the commands i tried had any effect. i of course changed the PID in rgb_keyboard.h but could not see any change in the keyboard.

This command from the readme rgb_keyboard --brightness 5 --speed 2 --color 00ff00 --leds rain
takes 13 seconds to finish (as you said, no input is possible during this time). rgb_keyboard -q takes around 3 seconds but also has no effect. Then, the program seems to exit gracefully without printing anything. I ran it as root as i didnt setup the udev rules. could that cause any issues?
My ui works fine under both windows 10 and arch. I grabbed the values from your write_mode function from writers.cpp and that seemed to fix some of the modes that weren't being applied properly with my tool, so it's very strange that it doesn't work. I admit i don't understand the hid part completely as in c# it's all behind the HidSharp wrapper. maybe the interfaces / endpoints are different?

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

this might be useful:

output of lsusb -v -d 0c45:7903 : https://pastebin.com/mFWCtQkz

if that's relevant, it also prints this: Couldn't open device, some information will be missing

from rgb_keyboard.

dokutan avatar dokutan commented on August 11, 2024

From the lsusb output the keyboards look indeed extremely similar, however your keyboard seems to lack an endpoint to receive data, which seems very strange to me.

The duration these commands take means that the individual transfers timed out.

Edit: running as root should not be a problem.

Could you capture the communication between your keyboard and either the official or your software when setting the mode or brightness with wireshark?
I am suspecting there is a minor difference in the USB endpoints (or maybe the data), so that should help to clear things up. If you need more information, i put a description of the general process in doc/README.md.

Also please try to use the latest version from git for further tests, i changed the interface and some other things today.
You can also open the keyboard by specifying the bus and device (no changing the PID in the source is neccessary).

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

ajazzak33-pcap.zip

I made some tests with the official app and with my app(those ones say my_program). the official one seems less stable than when i last tested it... I wonder why that's the case. I captured these on windows 10 with usbpcap + wireshark.

I will give the program another try by specifying the bus and device.

let me know if you need any further information, will update when i test again.

from rgb_keyboard.

dokutan avatar dokutan commented on August 11, 2024

Thanks a lot for these captures, they really helped.

The only difference seems to be that the packets going to the ajazzak33 are transmitted with an usb control transfer instead of an interrupt transfer.

I have added a new branch ajazzak33 in which i adapted the writing functions for the brightness and mode. If this works, it should be quite easy to adapt the other functions as well to be compatible with both types of keyboard.

If this turns out not to work, capturing the (broken) communication of this software would be neccessary.

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

i can confirm that writing brightness and mode now works. brightness is 0-5 instead of 0-9 like you say in the readme though which i find a bit strange. anything above 5 looks about the same brightness as if i set it to 1.

from rgb_keyboard.

dokutan avatar dokutan commented on August 11, 2024

In the ajazzak33 branch, i have added support for all writers.
You need to use the --ajazzak33 option to enable this. With this option the program opens the keyboard by the PID 0x7903, so no bus/device specification should be neccessary.

The maximum brightness just seems so be another difference, i will change the appropriate parts accordingly.

Edit: please be careful with the remapping function, it was reported to shift all keys around on ISO-layout boards.

If everything works, i will merge these changes to the master branch, after the small differences have been properly documented.

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

had me scared there, the remap function does indeed fuck everything up. literally all my keys were swapped around. thankfully i had the firmware backed up with the official windows app before i started or i probably wouldn't be typing this right now :D

in any case, some of the combinations of options seem to not want to work together. for example, i couldn't make -v do anything. if i set it to the reactive color mode it always defaults to the yellow preset. Is there anything specific you'd like me to try? fixed color works correctly. i didn't try report rates or macros or anything like that after what the remap did. I don't know if is should try custom. my app does custom but one of the keys isn't settable (Fn) and it takes 6+ seconds to set the whole board....

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

ajazz-ak33-firmware.zip

Just in case someone comes across this issue, here is the firmware file i used with the official app.

from rgb_keyboard.

dokutan avatar dokutan commented on August 11, 2024

I'm glad it worked out ok.

Everything LED related should probably be safe, however i can not make any promises.
If the basic LED settings (mode, speed, brightness, direction) work, that would be a first step.
As far as custom patterns go, you could try with --custom-keys option to change individual keys.
To prevent any further problems i would closely compare the features of this to the official software.

To fix the -v bug, you would have to capture setting the variant from a working software. You could either send me the captured data or try to fix it yourself and make a pull request.

from rgb_keyboard.

diogotr7 avatar diogotr7 commented on August 11, 2024

mode, brightness, direction and speed seem to work fine.

Setting a custom pattern worked, but the resulting colors seemed a bit weird. maybe the mappings are different? here's a picture after applying example.conf:
IMG_20200321_151411__01

I will fight with the official program again to see if i can capture the variant. Might be useful or not, but i got some of the information from this repository here

from rgb_keyboard.

dokutan avatar dokutan commented on August 11, 2024

What exactly do you mean is weird about the colors? The default color is white.

  • Does setting a key
    • to ff0000 make it red ?
    • to 00ff00 make it green ?
    • to 0000ff make it blue ?
  • Can all keys be set?
    This should answer if either the key offsets or packet structure is at fault.

Unfortunately i have some trouble completely understanding the led part of the code from your linked repository.

from rgb_keyboard.

dokutan avatar dokutan commented on August 11, 2024

I am closing this issue for now, as the Ajazz AK33 is now supported in the master branch.
If there is still interest in integration with other software or information regarding the missing features of the Ajazz AK33 support, please open a new issue for that purpose.

from rgb_keyboard.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.