bambash / sys76-kb

RGB keyboard controller for System76 laptops
20 stars 6 forks source link

Make It Official #4

Open mmstick opened 4 years ago

mmstick commented 4 years ago

If you'd like to, we could make this official in the System76 or Pop!_OS GitHub organization, but we would need to have this rewritten in Rust, among also providing a DBus service for the CLI client to interact with. There's a lot of projects in the Pop!_OS GitHub organization which you could use as a guide for implementing these things in Rust. Firmware Manager, for example.

We've been planning to have functionality like this eventually integrated into GNOME Control Center, and the DBus service would be the first step towards that goal. Similar to Firmware Manager and Pop Upgrade, we would develop a GTK widget library and standalone application that interfaces with the DBus API, the same as the CLI client. Then we could write a C FFI bindings for the GTK widget library, and patch it into GNOME Control Center. Everything's written in Rust, of course.

bambash commented 4 years ago

Hi @mmstick - that would be really awesome! I'd love to contribute in anyway I can - however, I'm unfamiliar with Rust. This project was created mainly out of my desire to become more familiar with Go. I would be open to writing something in Rust after learning some primitives - but would need guidance - especially when it comes to providing a DBus service.

MilesBHuff commented 3 years ago

@bambash I recently wrote a somewhat similar program in Rust; maybe you can use it as a base for the rewrite? https://github.com/MilesBHuff/Ambient-Keyboard-Lighting

bradrf commented 2 years ago

I didn't take on a full rewrite in Rust, but I have forked this project and added a bunch more functionality, including providing IPC between a menu app that runs in Gnome's system tray with a background process that controls the keyboard: https://github.com/BitPonyLLC/huekeys#readme