Piper is a GTK application that provides a graphical interface for configuring gaming mice.
Piper solves the problem of configuring gaming mice by acting as a frontend to the ratbagd DBus daemon, which handles the actual device communication. The tool allows users to adjust resolution settings, configure button mappings, and control LED behavior through a visual interface. Since device-specific protocols must be reverse-engineered, the features available depend on what has been implemented in the underlying libratbag library, and actual capabilities may differ from manufacturer specifications.
Piper is suitable for Linux users who own gaming mice and want a graphical way to customize their devices without using command-line tools. The project requires ratbagd to be running on the system bus, and device support is determined entirely by libratbag's implementation. Users should check the libratbag device files to verify whether their specific mouse is supported before adopting this tool. For development purposes, running Piper from git alongside libratbag from git ensures access to the latest bugfixes.
The project maintains a development binary for faster iteration during coding work, eliminating the need to reinstall after each change. Code contributions are expected to follow Python's PEP8 style guide and pass the project's test suite, which includes automated formatting checks using the black formatter. The maintainers request that potential contributors contact them first to discuss what work might be undertaken.