Repository navigation
Start the GUI's hidraw listeners for drivers that declare an interface - #19
Merged
packerlschupfer merged 1 commit intoOct 14, 2026
Conversation
a59543f moved find_hidraw() into PulsarDevice, but gui._reports_events() still asked whether a driver overrides it. No built-in driver does any more, so it was False for all 15 and none of the three listeners started: the tray's (DPI button and signal quality), the Home page's Connection Quality row, and Input Test's. find_hidraw() itself still returned the right node, which is why check-drivers.py didn't notice. _reports_events() now also counts a driver that sets _HIDRAW_INTERFACE. The override test stays for plugin drivers that bring their own find_hidraw(). Every built-in driver gets the same answer it got before a59543f. check-drivers.py gets a check that every driver declaring _HIDRAW_INTERFACE gets a listener. With the old line back it fails on all 15. It imports gui.py, so without GTK 4 and libadwaita it is skipped rather than failed.
This was referenced Oct 14, 2026
packerlschupfer
pushed a commit
that referenced
this pull request
Oct 14, 2026
Taken with tools/screenshots.py, 8 of 8, from a Pulsar X3 on the 1K dongle (3710:5402), so the set now has the Power page, battery and Connection Quality. 09-tray.png is unchanged: it's taken by hand and my panel draws the menu in its own style. Taken with the listener fix from #19 applied, since without it Connection Quality stays on a dash, and with an empty XDG_CONFIG_HOME and no desktop env vars so my own GTK theme stayed out of it (#18).
Owner
|
Merged. My regression: hoisting Checked your check by restoring the old line — fails on all 15, exit 1. And on hardware here: False on a59543f, True on this, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After a59543f,
_reports_events()in gui.py still asks whether a driver overridesfind_hidraw(). None of the built-in drivers do any more, so it's False for all 15 and none of the GUI's three listeners start: the tray (DPI button and signal), the Home page's Connection Quality row, and Input Test.find_hidraw()itself still returns the right node, which is why check-drivers didn't catch it.Found it doing the screenshots for #18. The 1K dongle was sending
05 0donce a second on hidraw1, but Home sat on a dash.The fix also counts a driver that sets
_HIDRAW_INTERFACE. I kept the override test for plugin drivers that bring their ownfind_hidraw(). Every built-in driver gets the same answer it got on a59543f^, I checked all 15.Also added a check-drivers check: every driver that declares
_HIDRAW_INTERFACEhas to get a listener. With the old line restored it fails on all 15. It imports gui.py, so on a machine without GTK 4 and libadwaita it prints SKIP instead of failing. CI has both.Tested on an X3 on the 1K dongle: Home's Connection Quality row filled in (96%, Excellent) within the screenshot script's 3.5 s wait. I only checked the Home row on hardware. The tray and Input Test go through the same function.