Repository navigation
ASUS: ROG OMNI receiver mice and keyboards (Harpe Ace Mini, Falchion RX Low Profile), unit tests - #185
Open
metalgitter wants to merge 1 commit into
Open
ASUS: ROG OMNI receiver mice and keyboards (Harpe Ace Mini, Falchion RX Low Profile), unit tests#185metalgitter wants to merge 1 commit into
metalgitter wants to merge 1 commit into
Conversation
…RX Low Profile), unit tests The OMNI receiver (0B05:1ACE) was left out of the ASUS provider. Its interface 0 is only a keyboard; the battery exchanges are on interface 2, each collection with its own report id (G-Helper's PeripheralsProvider.cs and *Omni models): - 01 a0 on ff02: the pair list, which names the mouse and keyboard - 03 12 07 on ff01: the mouse, the usual 12 07 reply behind report id 3 - 02 12 01 on ff00: the keyboard, battery in byte 6 (byte 11 on the Falchion family), charging in byte 9 Collections are grouped per receiver by device instance. A mouse on the OMNI receiver shares its icon with the same mouse on its cable. Confirmed on a Harpe Ace Mini and a Falchion RX Low Profile. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Adds the ROG OMNI receiver (0B05:1ACE) to the ASUS provider: the battery of the mouse and the keyboard paired to it. It was listed as "not included" in
providers/asus.py.Closes: no issue (none open for the OMNI receiver).
Source of the protocol: G-Helper (seerge/g-helper),
app/Peripherals/PeripheralsProvider.cs(DedectOmniMouse,MouseFromOmniPid,KeyboardFromOmniPid) and the*Omnimodel classes inMouse/ModelsandKeyboard/Models(AsusKeyboard.ReadBattery,Falchion.ParseBattery). Only the protocol facts are used.How it is read: the receiver's interface 0 is only a keyboard, so the existing interface-0 path never matched it. The vendor collections are on interface 2, each with its own report id and 64-byte reports:
ff0201 a0 00 00ff0103 12 0712 07mouse reply behind report id 3 (battery byte 5, charging byte 10)ff0002 12 01Only pids in the pair list that G-Helper knows are asked. Collections are grouped per receiver by device instance, so two receivers do not mix. An OMNI mouse uses the same names as
KNOWN, so it shares one icon with the same mouse on its cable. Keyboards getkind="keyboard". A sleeping device (all zeros, battery 0 without charging, orff aafrom a keyboard asleep on battery) shows nothing._readnow uses a small_askhelper shared with the OMNI requests; the existing mouse behaviour and its tests are unchanged.Tested on real hardware: yes, a ROG Harpe Ace Mini (pid 1b65) and a ROG Falchion RX Low Profile (pid 1b06) on one OMNI receiver.
--probeshows:The keyboard answered
02 ff aawhile asleep and 66 % once awake. The other OMNI pids (Keris II Ace / Origin, Harpe Ace Aim Lab / Extreme, Gladius III Aimpoint, Keris Wireless Aimpoint, Strix Impact III Wireless; Azoth, Azoth Extreme, Strix Scope II 96) come from G-Helper and are unverified.Unit tests: 16 new tests in
tests/test_asus.py(pair list, mouse and keyboard parsing, the Falchion gauge byte, standby, events before the reply, unknown pids, two receivers, OMNI + cable sharing an icon).python -m unittest discover -s tests: 475 tests OK.Other open pull requests changing the same files: none touch
providers/asus.pyortests/test_asus.py. Most open PRs also add toCHANGELOG.md,README.mdanddocs/protocols.md, and #181, #177, #176, #172, #167, #157, #141, #137, #136, #135, #134, #129, #124, #123 and #39 changehalo_battery.pyw; this PR only changes the"asus"Device types label there and a line of the module docstring.🤖 Generated with Claude Code