Skip to content

fix(logitech): read Superlight 2 Lightspeed polling above 1000 Hz - #226

Merged
snekxs merged 1 commit into
mainfrom
fix/superlight-2-lightspeed-8k
Oct 13, 2026
Merged

snekxs merged 1 commit into
mainfrom
fix/superlight-2-lightspeed-8k

Conversation

@snekxs

@snekxs snekxs commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Summary

  • A G Pro X Superlight 2 on its LIGHTSPEED receiver only offered polling through 1,000 Hz, even though the link supports 8,000 Hz (fixes [Logitech] G Pro X Superlight 2 only offers 1000 Hz, 8000 Hz missing #224).
  • 0x8061 takes a connection argument: 0 is the USB cable and 1 is Lightspeed. The list and the current-rate read were sent with 0, so the mouse answered with the cable's 1 kHz mask. Lightspeed now asks for connection 1. Firmware that keeps the capability bitmask on function 0 is checked when function 0x10 still stops at 1,000 Hz.

Test plan

  • npx tsx --import ./scripts/fast-test-timers.mjs --test src/drivers/logitech/hidpp.test.ts
  • On a G Pro X Superlight 2 over LIGHTSPEED (not the cable or Bluetooth), confirm the polling picker includes 2,000 / 4,000 / 8,000 Hz
  • On the same mouse over the USB cable, confirm the picker still stops at 1,000 Hz

Made with Cursor

Summary by CodeRabbit

  • Bug Fixes
    • Corrected polling-rate detection for the Lightspeed Superlight 2: wireless mode can report rates up to 8000 Hz, while wired mode remains capped at 1000 Hz.
    • Improved wireless rate detection when the device’s initial capability report lists rates only up to 1000 Hz.

0x8061's rate list is per link. A zero connection argument is the cable, so a receiver-attached Superlight 2 only advertised through 1000 Hz.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added type: bug PR title category: bug area: protocol Protocol codecs and shared types area: drivers Device drivers and transport integration area: tests Protocol and driver tests labels Oct 13, 2026
@coderabbitai

coderabbitai Bot commented Oct 13, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: OpenMouse-Project/mouse-protocol/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 466d9729-d7c1-4290-8c0d-097540323db2
📥 Commits

Reviewing files that changed from the base of the PR and between 2613e68 and 84effb7.

📒 Files selected for processing: 2
  • src/drivers/logitech/hidpp.test.ts
  • src/drivers/logitech/hidpp.ts
 _________________________
< Please feed the models. >
 -------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@snekxs
snekxs merged commit ae2ab9d into main Oct 13, 2026
6 of 7 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 0.42.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: drivers Device drivers and transport integration area: protocol Protocol codecs and shared types area: tests Protocol and driver tests released type: bug PR title category: bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Logitech] G Pro X Superlight 2 only offers 1000 Hz, 8000 Hz missing

1 participant