Skip to content

About

Open-source RGB control for the AULA F75 on Linux via USB 2.4 GHz receiver.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

F75 Linux Manager

Open-source RGB control for the AULA F75 over its 2.4 GHz USB receiver.

This is an independent project and is not affiliated with or endorsed by AULA. “AULA” and “F75” are referenced only to identify hardware compatibility. (3554:fa09). It detects the correct HID collection, reads lighting status, and can apply the keyboard's built-in RGB effects with verified read-back.

Run

Install from a checkout

The command-line tool uses only Python's standard library. Install it in a virtual environment with:

python -m venv .venv
. .venv/bin/activate
python -m pip install .

This provides the f75-linux command. For the GTK manager, install the GUI extra as well. On Arch Linux, PyGObject is normally provided by the system package python-gobject and GTK 4 by gtk4:

sudo pacman -S python-gobject gtk4
python -m pip install .
f75-linux-gui

Arch Linux enables PEP 668, so do not use pip install --user into the system interpreter. Use the virtual environment above, or install the CLI as an isolated application with pipx:

sudo pacman -S python-pipx
pipx ensurepath
pipx install --system-site-packages .

For the GUI, keep using the virtual environment so it can see Arch's python-gobject and gtk4 packages.

The module form remains available during development:

python -m aula_f75.cli detect
python -m aula_f75.cli status --raw
python -m aula_f75.cli effect 15 --brightness 7 --speed 2 --colorful
python -m aula_f75.cli effect 1 --brightness 7 --color 00ffff
python -m aula_f75.cli battery --seconds 10

On a Linux desktop with GTK 4 and PyGObject, launch the graphical manager with:

python -m aula_f75.gui

Screenshots

The GTK manager provides live effect previews and controls for brightness, speed, colorful mode, and custom colors.

F75 Linux Manager Rainbow Wheel

F75 Linux Manager Flash Away

The GUI detects the receiver, loads the current effect parameters, and provides effect, brightness, speed, colorful/single-color, and RGB color controls. Every change is read back from the keyboard before being reported as successful. Effect names and IDs follow the keyboard protocol; for example, Ripples Shining is effect 7 and Raindrops is effect 5. Custom color is enabled for the firmware's single-color effects. Fixed On uses the active palette strategy; animated effects use the verified monochrome palette strategy, which recolors the full animation palette. Rotating Storm is kept in colorful-only mode because its structured animation palette must remain intact. Rainbow, Shadow Disappear, Rotating Windmill, Colorful Waterfall, Blossoming, and Rotating Storm are marked in the GUI as colorful-only, with the mode toggle disabled. Fixed On has no speed control, so its speed slider is disabled. On this keyboard's firmware, Shadow Disappear (9) and Rotating Storm (18) blank the LEDs and are marked unsupported; Colorful Waterfall (16) is confirmed working.

For controlled animated-color investigation, the CLI provides experimental replace-red and monochrome palette strategies plus --debug-frames. These options only alter lighting palette frames and remain separate from the GUI.

Run the commands from this directory. Access to the receiver's vendor hidraw node is required. If status reports Permission denied, install the included udev rule:

sudo cp packaging/99-aula-f75.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

Then unplug and reconnect the receiver. On desktop Linux, TAG+="uaccess" normally grants the logged-in user access. If that does not happen, add your user to the input group and log out and back in:

sudo usermod -aG input "$USER"

The rule is restricted to the AULA receiver (3554:fa09) and is not world-writable.

Safety

detect only reads sysfs. status sends the protocol's read-config request (13 44 01 00 ...) and accepts only checksummed read responses. effect changes only the built-in lighting effect table, waits for every receiver echo, saves, and verifies the result by reading it back. It does not write macros, key mappings, or firmware. Custom RGB colors use the separate 37-frame palette transaction and imply single-color mode. Configuration and palette frames are persisted by one final save.

The battery command is a passive diagnostic: it only listens while the user holds Fn+B. Testing on the 2.4 GHz receiver showed only ordinary keyboard input reports and no vendor battery report, so an exact battery percentage is not currently available in this mode. Fn+B's number-row indication appears to be handled locally by the keyboard. No undocumented device-info command is sent; an experimental command from a different AULA model was removed after it caused the F75 lighting to restart.

To discover the official application's receiver battery exchange safely, see docs/WINDOWS_USB_CAPTURE.md. The included analyzer compares an idle USBPcap capture with a battery-refresh capture.

About

Open-source RGB control for the AULA F75 on Linux via USB 2.4 GHz receiver.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages