-
released this
2026-06-20 14:51:23 +00:00 | 72 commits to master since this releaseInitial release — a user-session daemon that controls the ASUS Zenbook Duo
(UX8406) keyboard backlight on Fedora/GNOME, with a fully automated,
self-contained RPM build.Keyboard backlight
- Sets the keyboard backlight level (0–3) over the vendor HID feature report,
working in both docked (USB, PID 1bf2) and detached (Bluetooth, PID 1bf3)
modes — the correct hidraw node is found dynamically by its0x5Areport
descriptor, so the same path works on both transports. - Configurable via the
org.zenbookduoGSettings schema
(keyboard-backlight-level); the daemon applies changes live. - Idempotent reconciler: re-applies the desired level on startup, keyboard
dock/undock, and config change, and writes only on an actual change.
Daemon & system integration
- Event-driven
zenbook-duoddaemon on the GLib main loop, with USB hotplug
observed via aNETLINK_KOBJECT_UEVENTsocket and dock state read from sysfs. - Runs as a user systemd service, enabled on install via a systemd user
preset (auto-starts at the next graphical login). Hardware access is granted
to the active session through a loginduaccessudev ACL — no root, no
sudo, no group membership, no/etc/sudoersedits. - Zero third-party Python dependencies (standard library + PyGObject only).
Packaging & CI
- Self-contained,
noarchRPM with a fully offline build;Requiresonly
python3andpython3-gobject. - Two Forgejo Actions workflows (
buildverification,release) that use no
external/marketplace actions — plaingitcheckout and a stdlib-only
release helper authenticated by the built-in Actions token. - The RPM is attached to the Forgejo Release for each
vX.Y.Ztag; release
notes are generated from thisCHANGELOG.md(with a commit-log fallback).
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Sets the keyboard backlight level (0–3) over the vendor HID feature report,