Repository navigation
Conversation
[Medium impact] The PR appears safe to merge; no new actionable issues were found.
|
davidbudnick
approved these changes
Nov 8, 2026
The original PRO X SUPERLIGHT (wpid 0x4093, USB 0xc094) fell back to the generic STANDARD_BUTTONS layout, so the capture plan never handed it to host mode and a saved report rate was never applied. Register its five 0x8110 slots (left, right, middle, back, forward, all native) and its stock DPI presets for extended model ids 0-5, which share G HUB's pro_x_wireless_mouse metadata. Superlight 2, DEX and unknown model ids keep their existing paths.
Efllux
force-pushed
the
feat/pro-x-superlight
branch
from
November 14, 2026 00:04
9456b58 to
cd0c8ab
Compare
This branch has not been deployed
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.
Summary
The original PRO X SUPERLIGHT (wpid
0x4093, USB0xc094) fell back to the genericSTANDARD_BUTTONSlayout. That layout has no host-mode target, so the capture plan never takes the mouse off its onboard profile, and a saved report rate is never applied. Button remaps (DPI shift, DPI cycle) can't work either.This PR registers a measured layout for the mouse, so it gets the same host-mode handling as the G502 and G903.
Changes
PRO_X_SUPERLIGHTtobinding/gaming.rs. It covers the five0x8110slots (left, right, middle, back, forward, all native) and the stock DPI presets400/800/1600/3200/6400, and is registered inLAYOUTS.04093…54093). These share G HUB'spro_x_wireless_mousemetadata and default configuration.binding.rs.Standard.capture_plan.rstests only)Hosttarget with five native slots and that rate. This test failed before the layout was registered, because the plan returned no onboard target.Testing
Local gate. The affected-package tier was derived with
cargo tree --workspace --target all --invertforopenlogi-coreandopenlogi-agent-core. It covers 15 packages; no rebase was needed, since the branch sits on the currentmastertipcff9a04.Not run:
cargo testforopenlogi-desktop,openlogi-uiandopenlogi-overlay. The machine ran out of disk space; those crates pass Clippy and were built in release (below).Hardware verification. Tested on macOS 26.6.2 with an original PRO X SUPERLIGHT (extended model id 2) over its Lightspeed receiver.
Through
openlogi diag:0x1004.0x2201v2, range 100–25600 in steps of 50. A write was read back, then restored.0x8060reports 125/250/500/1000 Hz. A write was read back, then restored.0x8110reports five slots. Physical presses of left, right, middle, back and forward produced masks0001,0002,0004,0008and0010.Through a release build of this branch (desktop, agent and overlay), installed and running as the agent:
G-series host mode active captured=2and re-applies the saved DPI.DpiShiftholds the lowest preset. Forward bound toCycleDpiPresetssteps through the presets and wraps around.openlogi api report-rateread back correctly.Known limitation, not addressed here. On startup or reconnect, the saved report rate is written before host mode is entered, so the device rejects it (
0x8060returnsInvalidArgument). Unlike DPI, it isn't written again when host mode starts. This is not specific to this mouse; I'll open a separate issue.Refs #886