FFY00 / logitechd

Userspace daemon to configure Logitech devices
MIT License
21 stars 1 forks source link

Project Status #2

Open FFY00 opened 4 years ago

FFY00 commented 4 years ago

Next step would be starting implementing the HID++ features. This is not something I really want to work on until we have a DBus daemon but anyone else is welcome to, I am just focusing on other things.

FFY00 commented 4 years ago

Okay, we now have a semi-stable API in https://github.com/FFY00/dbus-objects. I can start working on the DBus daemon. The dbus-objects dependency should be pinned.

FFY00 commented 3 years ago

Did a fair bit of progress today, I wrote abstractions for the IO backend, and implemented a Linux hidraw backend. This design should allow us to fairly easily add IO backends that work on other operating systems. I want to write a hidapi backend, so that this also works on Windows, MacOS and FreeBSD, but the hidapi API is awful and not having the work already done by the hid-logitech-dj Linux driver will mean that we have to implement a bunch of things (the Logitech DJ protocol mainly), so that is something for later.

Currently, I have a WIP protocol definition representation locally. The idea is that instead of manually writing code to parse all function data, we just describe the format and it gets done automatically.

Hopefully I can get the protocol stuff working soon, which means I can start write a DBus API and configuration clients.

For configuration clients, we will have a CLI one, logitechctl, and a GUI one, probably built on Qt w/ https://github.com/UN-GCPDS/qt-material. Anyone with Qt experience, or designers, that want to lend a hand, please let me know.

On top of this, I think I will probably also write a simple GUI app that just lets you play with API the device exposes directly, which would be useful for development/debugging, or as a workaround for features that haven't gotten their own API and/or GUI yet.