Giter Club home page Giter Club logo

Comments (8)

jaytohe avatar jaytohe commented on July 28, 2024 2

Hi there. I wrote a kernel module for my Gigabyte Aero 15 SB that re-enables some of the function keys. I got annoyed that the brightness fn keys weren't working (Fn+F3, Fn+F4) so I took the matter to my own hands and wrote a custom hid driver. You can check it out here. Cheers.

from aero-keyboard.

paul-ridgway avatar paul-ridgway commented on July 28, 2024

I was hoping to have time to look at this, but haven't yet at least. From what I could tell in wireshark I think the keyboard uses a custom HID protocol to send all but some keys and the gigabyte software handles the various changes. Linux can handle standard keys but not these, so in theory they probably could be intercepted but then you'd need to create the logic to change brightness, etc.

from aero-keyboard.

moosterling avatar moosterling commented on July 28, 2024

Not only that the device has yet again changed from "7a39" to "7a3f" and your code no longer appears to work with it. I updated the "device.rb" for the new device.

Bus 001 Device 006: ID 1044:7a3f Chu Yuen Enterprise Co., Ltd USB-HID Keyboard

ps: On mine airplane mode does appear to work.

from aero-keyboard.

paul-ridgway avatar paul-ridgway commented on July 28, 2024

Have you tried wireshark to see if that device is being interacted with when the lights are changed using the official app?

It is possible the protocol changed too I guess, wouldn't be surprised if the windows driver abstracted this away from the officail app itself.

from aero-keyboard.

moosterling avatar moosterling commented on July 28, 2024

Sorry, I got stuck with your solution - I am fairly certain it was communicating with the keyboard, but it just didn't seem to do anything. I did have success with https://github.com/martin31821/fusion-kbd-controller His is also based on the 7a39 device, but when I changed the device in his code I was finally able to change the lights. Which tells me, yours should have worked too. I did notice his implementation always did two control transfers to set a mode or custom mode to program the lights. Take a peek at his code if you like - in the "enums.h" file. It is using libusb and it is C based, which I am much more comfortable with than Ruby - never done that before, but I am a SW engineer so a new language doesn't scare me.

Sorry for the long response, I am just happy the lights are nice now. It keeps it through power cycles, so I guess this is burned into the flash of the keyboard itself.

from aero-keyboard.

paul-ridgway avatar paul-ridgway commented on July 28, 2024

Glad you got it working. I'm not likely to have time to tweak and maintain this project as it works for me and I have no means to test with other hardware, but I would welcome any PRs!

from aero-keyboard.

paul-ridgway avatar paul-ridgway commented on July 28, 2024

Nice, I'd always hoped to have the time to tackle those

from aero-keyboard.

paul-ridgway avatar paul-ridgway commented on July 28, 2024

I'm going to close this thread as @jaytohe has provided a solution and I don't plan to maintain this project for other model variants etc.

from aero-keyboard.

Related Issues (4)

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.