Add Logitech hardware DPI support - #1212
Conversation
|
Thanks for the PR! I gave it a quick try, but the Hardware DPI control didn’t show up for my M720. I’m not sure whether this is because the implementation is still incomplete. Maybe we’ll eventually need the concept of a logical device, so that I’ll take a closer look at the implementation when I have more time. |
|
Was the M720 using bluetooth or the unifying receiver? I was only able to test with bluetooth due to my devices using the bolt receiver. i was planning to tackle bolt receiver support after this but I may consider adding that first, then the dpi support for a broader receiver base to work with. |
|
After investigating a bit, it looks like the M720 does not support adjusting hardware DPI via HID++ In contrast the MX Master 3 I tested with does advertise the adjustable dpi flag: |
|
It works perfectly on my ERGO M575. Thanks so much for your contribution! |
Summary
Adds device-specific hardware DPI support for Logitech HID++ devices that expose the Adjustable DPI feature.
This change:
pointer.hardwareDPIDevice Testing
Manually tested with:
Behavior Notes
Verification
xcodebuild -project LinearMouse.xcodeproj -scheme LinearMouse -quietxcodebuild test -project LinearMouse.xcodeproj -scheme LinearMouse -only-testing:LinearMouseUnitTests/LogitechHIDPPDeviceDPIControllerTests -quietswiftformat .swiftlint lint LinearMouse/Device/VendorSpecific/Logitech/LogitechHIDPPDeviceDPIController.swiftswiftlint lint LinearMouse/UI/PointerSettings/PointerSettings.swift LinearMouse/UI/PointerSettings/PointerSettingsState.swift