Skip to content

Add read-only Logitech Bolt receiver monitoring#1236

Open
ehardesty wants to merge 1 commit into
linearmouse:mainfrom
ehardesty:wt/logitech-bolt-read-only-monitoring
Open

Add read-only Logitech Bolt receiver monitoring#1236
ehardesty wants to merge 1 commit into
linearmouse:mainfrom
ehardesty:wt/logitech-bolt-read-only-monitoring

Conversation

@ehardesty

Copy link
Copy Markdown
Contributor

Summary

Adds minimal read-only monitoring support for Logitech Bolt receivers (046D:C548).

This allows LinearMouse to discover paired Bolt pointing devices and surface receiver-routed metadata such as name, product ID, serial number, battery level, and connection state where available.

This PR is intentionally scoped as a foundation for Bolt support. Additional Bolt features can be added later after this base receiver monitoring path is reviewed and approved.

Details

  • Adds Bolt receiver discovery using Bolt receiver information registers
  • Publishes paired Bolt pointing devices through the existing ReceiverLogicalDeviceIdentity model
  • Reuses existing routed HID++ metadata reads for friendly name/name and battery level when supported by the paired device
  • Adds a Bolt-specific connection notification wait path
  • Keeps receiver-routed Logitech reprogrammable controls disabled for Bolt

Non-goals

This PR does not add Bolt support for:

  • reprogrammable/special button monitoring
  • DPI controls
  • pairing or unpairing
  • other mutating receiver/device configuration

Testing

  • swiftformat --lint LinearMouse/Device/ReceiverMonitor.swift LinearMouse/Device/VendorSpecific/Logitech/LogitechHIDPPDeviceMetadataProvider.swift LinearMouse/Device/VendorSpecific/Logitech/LogitechBoltReceiverSupport.swift LinearMouseUnitTests/Device/VendorSpecificDeviceMetadataTests.swift
  • swiftlint lint LinearMouse/Device/VendorSpecific/Logitech/LogitechBoltReceiverSupport.swift
  • xcodebuild test -project LinearMouse.xcodeproj -scheme LinearMouse -only-testing:LinearMouseUnitTests/VendorSpecificDeviceMetadataTests
  • git diff --check

Hardware checked with a Logitech Bolt receiver (046D:C548) and a paired MX Ergo S Plus.

@ehardesty ehardesty marked this pull request as ready for review June 10, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant