That did it
Now everything works well as far as I can tell.
Ah, nevermind, now both button 3 and button 4 get double presses ![]()
ah very strange, but could you post the logs once more? I think we are very close
The behavior is weird. After my computer woke from sleep, I was seeing single presses, with sometimes the press being missed. But now itβs back to double presses. Here are logs with only pressing button 3.
LOGI LOG: ========================================
LOGI LOG: BTT Logitech Debug Information
LOGI LOG: Timestamp: 2026-01-22 12:55:27
LOGI LOG: BTT: (Version: 6.099 | 2026012203)
LOGI LOG: macOS: Version 26.2 (Build 25C56)
LOGI LOG: ========================================
LOGI LOG:
LOGI LOG: Step 1: Stopping Logitech Manager...
LOGI LOG: BTTLogitechManager: Stopping...
LOGI LOG: BTTLogitechManager: Setting ONBOARD mode on 1 device(s) before shutdown...
LOGI LOG: BTTLogitechManager: β
ONBOARD mode set on 0 device(s), skipped 1 (shutdown complete)
LOGI LOG: BTTLogitechManager: Stopped
LOGI LOG: Step 2: Restarting Logitech Manager...
LOGI LOG: BTTLogitechManager: Starting device discovery...
LOGI LOG: BTTLogitechManager: Started successfully
LOGI LOG: Step 3: Calling initializeLogitechMice...
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: No Logitech HID++ devices found.
LOGI LOG:
π‘ Make sure your device is:
LOGI LOG: β’ Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG: β’ Powered on
LOGI LOG: β’ Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG: Step 4: Waiting 5 seconds for device initialization...
LOGI LOG: BTTLogitechManager: Found HID interface - MX Vertical Advanced Ergonomic Mouse - Interface: 2, Usage Page: 0xFF00, Usage: 0x0001
LOGI LOG: BTTLogitechManager: β
Accepted - Vendor-specific HID++ interface (Interface 2)
LOGI LOG: BTTLogitechManager: Device connected - MX Vertical Advanced Ergonomic Mouse (046d:c08a)
LOGI LOG: BTTHIDPPDevice: Auto-detected deviceIndex 0xFF for 046d:c08a (USB Wired)
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=255, IOHIDDevice retain count=3
LOGI LOG: Known device: Logitech MX Vertical (046d:c08a) with quirk: 0, type: 0, deviceIndex: 255, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 255, isSharedDevice: 0)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0xbf127afb0 for deviceIndex 255 (total protocols for this device: 1)
LOGI LOG: BTTHIDPPProtocol: Non-shared device - registering dedicated input callback
LOGI LOG: BTTHIDPPProtocol: β
Device opened successfully
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Starting feature discovery for Logitech MX Vertical...
LOGI LOG: BTTHIDPPFeatureCache: β
Found cached features for 046d:c08a (cached 2026-01-22 08:48:45 +0000)
LOGI LOG: BTTHIDPPDevice: β‘ Using cached features for Logitech MX Vertical (29 features)
LOGI LOG: BTTHIDPPDevice: β‘ Restoring cached device name: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: BTTHIDPPProtocol: Pre-populated feature cache with 29 features
LOGI LOG: BTTHIDPPDevice: Cached protocol: 4.5
LOGI LOG: BTTHIDPPProtocol: β
Registered event handler for feature 0x1B04 (protocol 0xbf127afb0, deviceIndex 255)
LOGI LOG: Total event handlers registered: 1
LOGI LOG: Button Manager supported
LOGI LOG: DPI Manager supported
LOGI LOG: Battery Monitor supported (Legacy 0x1000)
LOGI LOG: Checking scroll wheel features...
LOGI LOG: SmartShift (0x2110): β NO
LOGI LOG: SmartShift Enhanced (0x2111): β NO
LOGI LOG: HiRes Wheel (0x2121): β NO
LOGI LOG: Thumbwheel (0x2150): β NO
LOGI LOG: Wheel Analytics (0x2250): β
YES
LOGI LOG: Wheel Mode Status (0x2251): β NO
LOGI LOG: No scroll wheel features supported
LOGI LOG: BTTHIDPPDevice: Device type confirmed as MOUSE (has mouse-specific features)
LOGI LOG: Applying default device configuration...
LOGI LOG: π Attempting to query device name via HID++ feature 0x0005...
LOGI LOG: β
Device supports feature 0x0005, querying name length...
LOGI LOG: BTTLogitechManager: Device already tracked, ignoring duplicate interface
LOGI LOG: BTTLogitechManager: Device already tracked, ignoring duplicate interface
LOGI LOG: BTTHIDPPProtocol: β IOHIDDeviceSetReport failed: 0xE0005000
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: π’ Message did NOT match any pending request - treating as EVENT
LOGI LOG: BTTHIDPPProtocol: π¨ Handling event for feature index 0x0F
LOGI LOG: BTTHIDPPProtocol: π Feature index 0x0F β Feature ID 0x2201
LOGI LOG: BTTHIDPPProtocol: β οΈ No event handler registered for feature 0x2201
LOGI LOG: Registered event handlers: (
6916
)
LOGI LOG: β Failed to get device name length: IOHIDDeviceSetReport failed
LOGI LOG: Could not query device name via HID++, keeping: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: BTTLogitechManager: β
Device ready - MX Vertical Advanced Ergonomic Mouse (Protocol 4.5)
LOGI LOG: BTTLogitechManager: π Checking for pending setup requests for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: β
Device ready - MX Vertical Advanced Ergonomic Mouse (Protocol 4.5)
LOGI LOG: BTTLogitechManager: Device MX Vertical Advanced Ergonomic Mouse has no onboard profiles - skipping auto ONBOARD mode
LOGI LOG: BTTLogitechManager: π Checking for pending setup requests for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: β
Set macOS pointer settings for 'MX Vertical Advanced Ergonomic Mouse' (IOHIDDevice: 0x046D:0xC08A): speed=0.50, accel=10.00
LOGI LOG: BTTLogitechManager: Quick setup for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: π Started quick setup for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse)
LOGI LOG: BTTLogitechManager: β
Device 'MX Vertical Advanced Ergonomic Mouse' is ready (slot 255), proceeding with quick setup
LOGI LOG: BTTLogitechManager: Remapping buttons to standard mouse buttons for 'MX Vertical Advanced Ergonomic Mouse' (remapScrollTilt=0)...
LOGI LOG: BTTLogitechManager: Using runtime task ID remapping (0x1b04) - NO flash writes
LOGI LOG: BTTLogitechManager: Factory profiles preserved - buttons revert on disconnect
LOGI LOG: BTTHIDPPButtonCache: β
Found cached buttons for 046d:c08a (7 buttons, cached 2026-01-20 12:32:25 +0000)
LOGI LOG: BTTHIDPPButtonManager: β‘ Loaded 7 buttons from persistent cache (FAST STARTUP)
LOGI LOG: BTTLogitechManager: β‘ Loaded 7 buttons from persistent cache for remapping (FAST STARTUP)
LOGI LOG: BTTLogitechManager: β‘ Using 7 cached buttons for remapping
LOGI LOG: BTTLogitechManager: Found 7 buttons, analyzing task IDs...
LOGI LOG: BTTLogitechManager: Device 'MX Vertical Advanced Ergonomic Mouse' detected, isMXMaster4=0
LOGI LOG: BTTLogitechManager: Processing button 0x0050, flags=0x11
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0050 (Left) β button 0
LOGI LOG: BTTLogitechManager: Processing button 0x0051, flags=0x11
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0051 (Right) β button 1
LOGI LOG: BTTLogitechManager: Processing button 0x0052, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0052 (Middle) β button 2
LOGI LOG: BTTLogitechManager: Processing button 0x0053, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0053 (Back) β button 3
LOGI LOG: BTTLogitechManager: Processing button 0x0056, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0056 (Forward) β button 4
LOGI LOG: BTTLogitechManager: Processing button 0x00FD, flags=0x71
LOGI LOG: BTTLogitechManager: Processing button 0x00D7, flags=0xA0
LOGI LOG: BTTLogitechManager: β Skipping non-reprogrammable button 0x00D7
LOGI LOG: BTTLogitechManager: β Dynamic mapping: controlId 0x00FD β button 10 (sorted by controlId)
LOGI LOG: BTTLogitechManager: β
Created dynamic button mapping for 'MX Vertical Advanced Ergonomic Mouse' with 6 buttons
LOGI LOG: BTTLogitechManager: π Undiversting all reprogrammable buttons first to reset state...
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0050 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0051 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0052 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Including virtual divertable button 0x00D7 (flags=0xA0) for undivert
LOGI LOG: BTTHIDPPButtonManager: π Sequential undiverting 4 buttons (USB wired)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPButtonManager: π Sequential undiversion complete: 4/4 succeeded
LOGI LOG: BTTLogitechManager: β
Undivert phase complete (4/4), proceeding with remapping...
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0050 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0051 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0052 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Remapping extra button 0x0053: task 0x003C β 0x005E
LOGI LOG: BTTLogitechManager: Remapping extra button 0x0056: task 0x003E β 0x005F
LOGI LOG: BTTLogitechManager: Remapping extra button 0x00FD: task 0x00D2 β 0x0060
LOGI LOG: BTTLogitechManager: Skipping non-reprogrammable button 0x00D7
LOGI LOG: BTTLogitechManager: π Sequential remapping 3 buttons (USB wired)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTLogitechManager: β
Remapped 3 buttons via task IDs
LOGI LOG: BTTLogitechManager: Setting DPI for 'MX Vertical Advanced Ergonomic Mouse' to 2000...
LOGI LOG: BTTLogitechManager: First-time DPI setup - enumerating sensors...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x00)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x01)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x02)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x03)
LOGI LOG: BTTLogitechManager: β
DPI set to 2000 for 'MX Vertical Advanced Ergonomic Mouse' (sensor 0)
LOGI LOG: BTTLogitechManager: β Device 'MX Vertical Advanced Ergonomic Mouse' does not support report rate control
LOGI LOG: BTTLogitechManager: β οΈ Report rate setup failed: Device 'MX Vertical Advanced Ergonomic Mouse' does not support report rate control
LOGI LOG: BTTLogitechManager: π Quick setup guard cleared for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse)
LOGI LOG: BTTLogitechManager: β
Quick setup complete for 'MX Vertical Advanced Ergonomic Mouse'
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: Found 1 Logitech device(s):
LOGI LOG: ββββββββββββββββββββββββββββββββββββββββββββββ
LOGI LOG: Device 1: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: ββββββββββββββββββββββββββββββββββββββββββββββ
LOGI LOG: π Basic Information:
LOGI LOG: Vendor ID: 0x046d (Logitech)
LOGI LOG: Product ID: 0xc08a
LOGI LOG: Database: β
Known device
LOGI LOG: Quirks: None
LOGI LOG: Device Index: 255 (0xFF)
LOGI LOG:
π Protocol Information:
LOGI LOG: HID++ Version: 4.5
LOGI LOG: Status: β
Ready
LOGI LOG:
β¨ Supported Features:
LOGI LOG: DPI Control: β
YES
LOGI LOG: Button Diversion: β
YES β
LOGI LOG: LED Control: β NO
LOGI LOG: Onboard Profiles: β NO
LOGI LOG: Report Rate: β NO
LOGI LOG: Battery Monitoring: β
YES
LOGI LOG:
LOGI LOG: ==============================================
LOGI LOG: Scan complete. Found 1 device(s).
LOGI LOG: ==============================================
LOGI LOG: BTTLogitechManager: β
Set macOS pointer settings for 'MX Vertical Advanced Ergonomic Mouse' (IOHIDDevice: 0x046D:0xC08A): speed=0.50, accel=10.00
LOGI LOG: BTTLogitechManager: Quick setup for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: π Started quick setup for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse)
LOGI LOG: BTTLogitechManager: β
Device 'MX Vertical Advanced Ergonomic Mouse' is ready (slot 255), proceeding with quick setup
LOGI LOG: BTTLogitechManager: Remapping buttons to standard mouse buttons for 'MX Vertical Advanced Ergonomic Mouse' (remapScrollTilt=0)...
LOGI LOG: BTTLogitechManager: Using runtime task ID remapping (0x1b04) - NO flash writes
LOGI LOG: BTTLogitechManager: Factory profiles preserved - buttons revert on disconnect
LOGI LOG: BTTLogitechManager: β‘ Using 7 cached buttons for remapping
LOGI LOG: BTTLogitechManager: Found 7 buttons, analyzing task IDs...
LOGI LOG: BTTLogitechManager: Device 'MX Vertical Advanced Ergonomic Mouse' detected, isMXMaster4=0
LOGI LOG: BTTLogitechManager: Processing button 0x0050, flags=0x11
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0050 (Left) β button 0
LOGI LOG: BTTLogitechManager: Processing button 0x0051, flags=0x11
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0051 (Right) β button 1
LOGI LOG: BTTLogitechManager: Processing button 0x0052, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0052 (Middle) β button 2
LOGI LOG: BTTLogitechManager: Processing button 0x0053, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0053 (Back) β button 3
LOGI LOG: BTTLogitechManager: Processing button 0x0056, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0056 (Forward) β button 4
LOGI LOG: BTTLogitechManager: Processing button 0x00FD, flags=0x71
LOGI LOG: BTTLogitechManager: Processing button 0x00D7, flags=0xA0
LOGI LOG: BTTLogitechManager: β Skipping non-reprogrammable button 0x00D7
LOGI LOG: BTTLogitechManager: β Dynamic mapping: controlId 0x00FD β button 10 (sorted by controlId)
LOGI LOG: BTTLogitechManager: β
Created dynamic button mapping for 'MX Vertical Advanced Ergonomic Mouse' with 6 buttons
LOGI LOG: BTTLogitechManager: π Undiversting all reprogrammable buttons first to reset state...
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0050 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0051 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0052 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Including virtual divertable button 0x00D7 (flags=0xA0) for undivert
LOGI LOG: BTTHIDPPButtonManager: π Sequential undiverting 4 buttons (USB wired)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x00)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x01)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x02)
LOGI LOG:
π― DPI Information:
LOGI LOG: Sensor 0:
LOGI LOG: Current DPI: 2000
LOGI LOG: Range: 400 - 4000 (step: 100)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPButtonManager: π Sequential undiversion complete: 4/4 succeeded
LOGI LOG: BTTLogitechManager: β
Undivert phase complete (4/4), proceeding with remapping...
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0050 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0051 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0052 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Remapping extra button 0x0053: task 0x003C β 0x005E
LOGI LOG: BTTLogitechManager: Remapping extra button 0x0056: task 0x003E β 0x005F
LOGI LOG: BTTLogitechManager: Remapping extra button 0x00FD: task 0x00D2 β 0x0060
LOGI LOG: BTTLogitechManager: Skipping non-reprogrammable button 0x00D7
LOGI LOG: BTTLogitechManager: π Sequential remapping 3 buttons (USB wired)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x09, func=0x03)
LOGI LOG: BTTLogitechManager: β
Remapped 3 buttons via task IDs
LOGI LOG: BTTLogitechManager: Setting DPI for 'MX Vertical Advanced Ergonomic Mouse' to 2000...
LOGI LOG: BTTLogitechManager: β‘ Using cached sensor info (FAST PATH)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x0F, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0F, func=0x03)
LOGI LOG: BTTLogitechManager: β
DPI set to 2000 for 'MX Vertical Advanced Ergonomic Mouse' (sensor 0)
LOGI LOG: BTTLogitechManager: β Device 'MX Vertical Advanced Ergonomic Mouse' does not support report rate control
LOGI LOG: BTTLogitechManager: β οΈ Report rate setup failed: Device 'MX Vertical Advanced Ergonomic Mouse' does not support report rate control
LOGI LOG: BTTLogitechManager: π Quick setup guard cleared for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse)
LOGI LOG: BTTLogitechManager: β
Quick setup complete for 'MX Vertical Advanced Ergonomic Mouse'
LOGI LOG: BTTHIDPPProtocol: β±οΈ Request timeout after 2.0 seconds
LOGI LOG: Feature Index: 0x09, Function ID: 0x00, Device Index: 255
LOGI LOG: Pending requests before timeout: 2
LOGI LOG: Device may not support this feature or function.
LOGI LOG: BTTHIDPPProtocol: β±οΈ Request timeout after 2.0 seconds
LOGI LOG: Feature Index: 0x07, Function ID: 0x00, Device Index: 255
LOGI LOG: Pending requests before timeout: 1
LOGI LOG: Device may not support this feature or function.
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 0 pending requests for match
LOGI LOG: BTTHIDPPProtocol: π’ Message did NOT match any pending request - treating as EVENT
LOGI LOG: BTTHIDPPProtocol: π¨ Handling event for feature index 0x09
LOGI LOG: BTTHIDPPProtocol: π Feature index 0x09 β Feature ID 0x1B04
LOGI LOG: BTTHIDPPProtocol: β
Dispatching to event handler for feature 0x1B04
LOGI LOG: BTTHIDPPButtonManager: π― handleButtonEvent CALLED! address=0x00, params=[00 53 00 00 00 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: State change - Currently pressed: {(
83
)}, Newly pressed: {(
83
)}, Released: {(
)}
LOGI LOG: BTTHIDPPButtonManager: π Button press: controlId=0x0053
LOGI LOG: BTTHIDPPDevice: π Button event received: controlId=0x0053, pressed=1
LOGI LOG: BTTHIDPPDevice: Delegate=<BTTLogitechManager: 0xbf2c96440>, respondsToSelector=1
LOGI LOG: BTTHIDPPDevice: β
Calling delegate method...
LOGI LOG: BTTLogitechManager: Button pressed on MX Vertical Advanced Ergonomic Mouse (controlId: 0x0053)
LOGI LOG: BTTLogitechManager: Mapped controlId 0x0053 β button 3 (MX Vertical Advanced Ergonomic Mouse) [dynamic]
LOGI LOG: BTTLogitechManager: Click tracking DOWN for MX Vertical Advanced Ergonomic Mouse button 3: clickCount=1, timeSinceLastClick=790775736.103s
LOGI LOG: BTTLogitechManager: Set device IDs: vendor=0x046D, product=0xC08A, packed=0xC08A046D
LOGI LOG: BTTLogitechManager: Created CGEvent: type=25, button=3, buttonNumber=3, clickCount=1, location=(814.8,967.0)
LOGI LOG: BTTLogitechManager: β
Generated CGEvent for button 0x0053
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0xFF, sub_id(featureIdx)=0x09, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 0 pending requests for match
LOGI LOG: BTTHIDPPProtocol: π’ Message did NOT match any pending request - treating as EVENT
LOGI LOG: BTTHIDPPProtocol: π¨ Handling event for feature index 0x09
LOGI LOG: BTTHIDPPProtocol: π Feature index 0x09 β Feature ID 0x1B04
LOGI LOG: BTTHIDPPProtocol: β
Dispatching to event handler for feature 0x1B04
LOGI LOG: BTTHIDPPButtonManager: π― handleButtonEvent CALLED! address=0x00, params=[00 00 00 00 00 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: State change - Currently pressed: {(
)}, Newly pressed: {(
)}, Released: {(
83
)}
LOGI LOG: BTTHIDPPButtonManager: π Button release: controlId=0x0053
LOGI LOG: BTTHIDPPDevice: π Button event received: controlId=0x0053, pressed=0
LOGI LOG: BTTHIDPPDevice: Delegate=<BTTLogitechManager: 0xbf2c96440>, respondsToSelector=1
LOGI LOG: BTTHIDPPDevice: β
Calling delegate method...
LOGI LOG: BTTLogitechManager: Button released on MX Vertical Advanced Ergonomic Mouse (controlId: 0x0053)
LOGI LOG: BTTLogitechManager: Mapped controlId 0x0053 β button 3 (MX Vertical Advanced Ergonomic Mouse) [dynamic]
LOGI LOG: BTTLogitechManager: Click tracking UP for MX Vertical Advanced Ergonomic Mouse button 3: clickCount=1 (matched from DOWN)
LOGI LOG: BTTLogitechManager: Set device IDs: vendor=0x046D, product=0xC08A, packed=0xC08A046D
LOGI LOG: BTTLogitechManager: Created CGEvent: type=26, button=3, buttonNumber=3, clickCount=1, location=(816.0,967.0)
LOGI LOG: BTTLogitechManager: β
Generated CGEvent for button 0x0053
LOGI LOG:
LOGI LOG: ========================================
LOGI LOG: Connected Devices Summary:
LOGI LOG: ========================================
LOGI LOG: - MX Vertical Advanced Ergonomic Mouse (VID:0x046d PID:0xc08a) Ready:YES Type:Mouse
LOGI LOG:
LOGI LOG: ========================================
LOGI LOG: G604 Scroll Slot Debug:
LOGI LOG: ========================================
LOGI LOG: No G604 devices found
LOGI LOG: ========================================
LOGI LOG: End of Debug Information
LOGI LOG: ========================================
Some more changes in 6.100 - it will probably again require to toggle the mouse off / on.
Iβve updated, so far so good!
I am not sure Scroll Acceleration is working as expected.
Whichever value I put on Vertical strength, the change is scrolling is in speed and not in acceleration.
Even when I put 0 in strength Formula: output = input Γ (1 + strength Γ β(|input|/4))
I should have gotten the same effect as not having acceleration right? But I am still getting just higher scrolling speed
@ageorgios it might not be possible to combine this with smooth scrolling, I'll check next week!
I have started to create presets for every Logitech mouse I own (which are quite a few by now). I have started with the MX Vertical. The presets are supposed to showcase various parts of BTT functionality, I will soon collect them on Logitech Mouse Support Β· BetterTouchTool Documentation
Requires BTT 6.106
MX_Vertical_Preset.bttpreset (11.1 KB)
MX Vertical Features in this Preset:
* The big thumb button can switch spaces when dragging it left/right, show mission control when dragged up and show your desktop when dragged down
* The big thumb button shows the BTT window switcher when pressed briefly
* Page back/forward buttons goes back/forward when pressed quickly
* Page forward button scrolls left / right while being held & dragged left/right
* Page back button shows spotlight when held longer
* Clicking the scroll wheel keeps the standard middle click behavior
thanks for the preset! I didn't know I could do so much with so little buttons...
so how do you like the MX Vertical? ![]()
My MX Master 3 is no longer recognized ![]()
I was able to properly map all buttons, but now after I rebooted my mac, BTT does not find it when I click scan. It is detected correctly on the Generic Device Configuration.
do you have it configured additionally in generic devices or was this just for testing? Generic devices will in general have priority, thus the logitech support will not work properly when a generic device config for the device is added (especially if the exclusive access checkbox is enabled like in your screenshot)
@seldo it's not for me, I find especially the button on the top not very comfortable to reach. I much prefer the MX Masters ![]()
do you have it configured additionally in generic devices or was this just for testing?
I added it just for testing.
I was using 6.106. Updated to 6.108 but still with no luck. Anything I can do to diagnose what could be wrong?
You can try capturing the logs:
It could be a permission issue
//edit: after having it in generic devices you might need to clear BTT's trash, I think there might be an issue where generic devices keep their connection active even if put to trash.
After removed from generic devices and trash cleaned:
LOGI LOG: ========================================
LOGI LOG: BTT Logitech Debug Information
LOGI LOG: Timestamp: 2026-01-26 15:05:05
LOGI LOG: BTT: (Version: 6.108 | 2026012401)
LOGI LOG: macOS: Version 26.2 (Build 25C56)
LOGI LOG: ========================================
LOGI LOG:
LOGI LOG: Step 1: Stopping Logitech Manager...
LOGI LOG: BTTLogitechManager: Stopping...
LOGI LOG: BTTLogitechManager: Setting ONBOARD mode on 1 device(s) before shutdown...
LOGI LOG: BTTLogitechManager: β
ONBOARD mode set on 0 device(s), skipped 1 (shutdown complete)
LOGI LOG: BTTLogitechManager: Stopping device 'Logitech MX Master 3 (Bluetooth)'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0xbb9362530 for deviceIndex 0 (remaining protocols for this device: 1)
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0xbb9362530 for deviceIndex 0 (remaining protocols for this device: 1)
LOGI LOG: BTTLogitechManager: Stopped
LOGI LOG: Step 2: Restarting Logitech Manager...
LOGI LOG: BTTLogitechManager: Starting device discovery...
LOGI LOG: BTTLogitechManager: Started successfully
LOGI LOG: Step 3: Calling initializeLogitechMice...
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: No Logitech HID++ devices found.
LOGI LOG:
π‘ Make sure your device is:
LOGI LOG: β’ Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG: β’ Powered on
LOGI LOG: β’ Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG: Step 4: Waiting 5 seconds for device initialization...
LOGI LOG: BTTLogitechManager: Found HID interface - MX Master 3 - Interface: ?, Usage Page: 0x0001, Usage: 0x0006
LOGI LOG: BTTLogitechManager: β
Accepted - Bluetooth Logitech device (HID++ over keyboard interface) [known device]
LOGI LOG: BTTLogitechManager: Device connected - MX Master 3 (046d:b023)
LOGI LOG: BTTHIDPPDevice: Auto-detected deviceIndex 0x00 for 046d:b023 (Bluetooth)
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=0, IOHIDDevice retain count=3
LOGI LOG: Known device: Logitech MX Master 3 (Bluetooth) (046d:b023) with quirk: 0, type: 0, deviceIndex: 0, transport: Bluetooth Low Energy
LOGI LOG: BTTHIDPPProtocol: Bluetooth device detected - forcing LONG reports only
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 0, isSharedDevice: 0)...
LOGI LOG: BTTHIDPPProtocol: β
Registered Bluetooth protocol 0xbb9c7d260 for BOTH deviceIndex 0 and 255 (0xFF)
LOGI LOG: BTTHIDPPProtocol: Non-shared device - registering dedicated input callback
LOGI LOG: BTTHIDPPProtocol: β
Device opened successfully
LOGI LOG: BTTHIDPPProtocol: Supports short reports: NO, long reports: YES
LOGI LOG: BTTLogitechManager: Bluetooth device detected - waiting 0.5s before starting feature discovery for Logitech MX Master 3 (Bluetooth)...
LOGI LOG: BTTLogitechManager: Starting feature discovery for Logitech MX Master 3 (Bluetooth)...
LOGI LOG: BTTHIDPPFeatureCache: β No cached features for 046d:b023
LOGI LOG: BTTHIDPPDevice: π No cached features for Logitech MX Master 3 (Bluetooth), performing full discovery...
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 0)...
LOGI LOG: BTTHIDPPProtocol: β IOHIDDeviceSetReport failed: 0xE00002E2
LOGI LOG: BTTHIDPPProtocol: β Protocol version detection failed: IOHIDDeviceSetReport failed
LOGI LOG: BTTLogitechManager: β Feature discovery failed for Logitech MX Master 3 (Bluetooth): IOHIDDeviceSetReport failed
LOGI LOG: Error domain: com.folivora.BTTHIDPPErrorDomain, code: -536870174
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: No Logitech HID++ devices found.
LOGI LOG:
π‘ Make sure your device is:
LOGI LOG: β’ Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG: β’ Powered on
LOGI LOG: β’ Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG:
LOGI LOG: ========================================
LOGI LOG: Connected Devices Summary:
LOGI LOG: ========================================
LOGI LOG: - Logitech MX Master 3 (Bluetooth) (VID:0x046d PID:0xb023) Ready:NO Type:Mouse
LOGI LOG:
LOGI LOG: ========================================
LOGI LOG: G604 Scroll Slot Debug:
LOGI LOG: ========================================
LOGI LOG: No G604 devices found
LOGI LOG: ========================================
LOGI LOG: End of Debug Information
LOGI LOG: ========================================
The system is blocking access to it (0xE00002E2 = kIOReturnNotPermitted). Possibly the mouse is in a weird state or the permissions are somehow broken.
I'd try:
- Restart BTT
- Turn off and on the mouse to clear any weird state
3.) Check System Settings => Security & Privacy => Input Monitoring. BTT must NOT be listed there. If it shows up there, remove it.
Worst case you can reset all permissions for BTT by doing this:
1.) Quit BTT
2.) Run this terminal command: sudo tccutil reset All com.hegenberg.BetterTouchTool
Had already done all of that with no luck ![]()
However,
The problem exists when connected to Bluetooth. When I connect the mouse using the Logitech receiver, everything works as expected. This is not a solution for me, though, because I use the receiver on my desktop. On my MacBook, I use Bluetooth.
EDIT: Oh, I rebooted my Mac, and now it works well
. Everything is green on the logs now. Really sorry for the trouble and time spent. There was a time MacOS was BSDβ¦
Anyway, thank you.
back at my desk since last week, on 6.100, BTT is not recognized the top button of the MX Vertical (I think I was on 6.100 last week).
I updated to 6.106 (which required a restart of BTT) and the top button is still not working with BTT ![]()
Here's the logitech log:
LOGI LOG: ========================================
LOGI LOG: BTT Logitech Debug Information
LOGI LOG: Timestamp: 2026-01-27 10:51:22
LOGI LOG: BTT: (Version: 6.106 | 2026012304)
LOGI LOG: macOS: Version 26.3 (assemblage 25D5101c)
LOGI LOG: ========================================
LOGI LOG:
LOGI LOG: Step 1: Stopping Logitech Manager...
LOGI LOG: BTTLogitechManager: Stopping...
LOGI LOG: BTTLogitechManager: Setting ONBOARD mode on 6 device(s) before shutdown...
LOGI LOG: BTTLogitechManager: β
ONBOARD mode set on 0 device(s), skipped 6 (shutdown complete)
LOGI LOG: BTTLogitechManager: Stopping device 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0x8ea862f40 for deviceIndex 1 (remaining protocols for this device: 5)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 1)
LOGI LOG: BTTLogitechManager: Stopping device 'USB Receiver (Slot)'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0x8e99eaa00 for deviceIndex 2 (remaining protocols for this device: 4)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 2)
LOGI LOG: BTTLogitechManager: Stopping device 'USB Receiver (Slot)'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0x8e99e9880 for deviceIndex 3 (remaining protocols for this device: 3)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 3)
LOGI LOG: BTTLogitechManager: Stopping device 'USB Receiver (Slot)'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0x8e99ead10 for deviceIndex 4 (remaining protocols for this device: 2)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 4)
LOGI LOG: BTTLogitechManager: Stopping device 'USB Receiver (Slot)'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0x8e99eaa70 for deviceIndex 5 (remaining protocols for this device: 1)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 5)
LOGI LOG: BTTLogitechManager: Stopping device 'USB Receiver (Slot)'...
LOGI LOG: BTTHIDPPProtocol: β Unregistered protocol 0x8eaac5f80 for deviceIndex 6 (remaining protocols for this device: 0)
LOGI LOG: BTTHIDPPProtocol: Last protocol for this device - will unregister callback
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 6)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 2)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 2)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 3)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 3)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 4)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 4)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 5)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 5)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 6)
LOGI LOG: BTTHIDPPProtocol: Skipping all IOKit cleanup (shared device for receiver slot 6)
LOGI LOG: BTTLogitechManager: Stopped
LOGI LOG: Step 2: Restarting Logitech Manager...
LOGI LOG: BTTLogitechManager: Starting device discovery...
LOGI LOG: BTTLogitechManager: Started successfully
LOGI LOG: Step 3: Calling initializeLogitechMice...
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: No Logitech HID++ devices found.
LOGI LOG:
π‘ Make sure your device is:
LOGI LOG: β’ Connected via USB, Bluetooth, or Unifying Receiver
LOGI LOG: β’ Powered on
LOGI LOG: β’ Using HID++ 2.0 protocol (most recent Logitech mice/keyboards)
LOGI LOG: Step 4: Waiting 5 seconds for device initialization...
LOGI LOG: BTTLogitechManager: Found HID interface - USB Receiver - Interface: 1, Usage Page: 0x0001, Usage: 0x0002
LOGI LOG: BTTLogitechManager: Skipping interface (Usage Page: 0x0001, Usage: 0x0002, Interface: 1)
LOGI LOG: BTTLogitechManager: Found HID interface - USB Receiver - Interface: 0, Usage Page: 0x0001, Usage: 0x0006
LOGI LOG: BTTLogitechManager: Skipping interface (Usage Page: 0x0001, Usage: 0x0006, Interface: 0)
LOGI LOG: BTTLogitechManager: Found HID interface - USB Receiver - Interface: 2, Usage Page: 0xFF00, Usage: 0x0001
LOGI LOG: BTTLogitechManager: β
Accepted - Vendor-specific HID++ interface (Interface 2)
LOGI LOG: BTTLogitechManager: Device connected - USB Receiver (046d:c52b)
LOGI LOG: BTTLogitechManager: π Receiver detected - setting up for slot enumeration...
LOGI LOG: BTTLogitechManager: Setting up receiver input callbacks...
LOGI LOG: BTTLogitechManager: β Receiver callbacks registered and device opened
LOGI LOG: BTTLogitechManager: Enabling receiver notifications (flags: 0x000900)...
LOGI LOG: BTTLogitechManager: Sent HID++ 1.0 command: 10 FF 80 00 00 09 00
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x80, addr=0x00, data=[00 00 00 00]
LOGI LOG: BTTLogitechManager: Enumerating receiver slots (simplified approach)...
LOGI LOG: BTTLogitechManager: Starting sequential slot enumeration (slots 1-6)...
LOGI LOG: BTTLogitechManager: Checking receiver slot 1...
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x8F, addr=0x83, data=[B5 03 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x83, error=0xB5
LOGI LOG: BTTLogitechManager: Creating device for receiver slot 1...
LOGI LOG: BTTLogitechManager: Receiver retain count for slot 1: 3
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=1, IOHIDDevice retain count=3
LOGI LOG: BTTHIDPPDevice: Receiver slot 1 - using receiver IDs: 046d:c52b
LOGI LOG: Unknown device: USB Receiver (Slot) (046d:c52b) - using feature discovery, deviceIndex: 1, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 1, isSharedDevice: 1)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0x8eb477f00 for deviceIndex 1 (total protocols for this device: 1)
LOGI LOG: BTTHIDPPProtocol: Shared device - skipping open/schedule (already done by receiver setup)
LOGI LOG: BTTHIDPPProtocol: First protocol for this receiver - registering shared input callback
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Created device for slot 1, discovering features...
LOGI LOG: BTTHIDPPFeatureCache: β
Found cached features for 046d:c52b:slot1 (cached 2026-01-22 14:23:25 +0000)
LOGI LOG: BTTHIDPPDevice: β‘ Using cached features for USB Receiver (Slot) (34 features)
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 1)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x00, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x00, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x00, addr=0x18, data=[04 05 00 00]
LOGI LOG: BTTHIDPPProtocol: β
Detected protocol version 4.5
LOGI LOG: BTTHIDPPDevice: β‘ Restoring cached device name: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: BTTHIDPPProtocol: Pre-populated feature cache with 34 features
LOGI LOG: BTTHIDPPDevice: Cached protocol: 4.5
LOGI LOG: BTTHIDPPProtocol: β
Registered event handler for feature 0x1B04 (protocol 0x8eb477f00, deviceIndex 1)
LOGI LOG: Total event handlers registered: 1
LOGI LOG: Button Manager supported
LOGI LOG: DPI Manager supported
LOGI LOG: Battery Monitor supported (Legacy 0x1000)
LOGI LOG: Checking scroll wheel features...
LOGI LOG: SmartShift (0x2110): β NO
LOGI LOG: SmartShift Enhanced (0x2111): β NO
LOGI LOG: HiRes Wheel (0x2121): β NO
LOGI LOG: Thumbwheel (0x2150): β NO
LOGI LOG: Wheel Analytics (0x2250): β
YES
LOGI LOG: Wheel Mode Status (0x2251): β NO
LOGI LOG: No scroll wheel features supported
LOGI LOG: BTTHIDPPDevice: Device type confirmed as MOUSE (has mouse-specific features)
LOGI LOG: Applying default device configuration...
LOGI LOG: π Attempting to query device name via HID++ feature 0x0005...
LOGI LOG: β
Device supports feature 0x0005, querying name length...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x03, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x03, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x03, addr=0x08, data=[24 00 00 00]
LOGI LOG: Device name length: 36 bytes
LOGI LOG: Reading device name chunk at offset 0/36...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x03, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x03, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x03, addr=0x18, data=[4D 58 20 56]
LOGI LOG: Read 16 bytes: "MX Vertical Adva"
LOGI LOG: Reading device name chunk at offset 16/36...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x03, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x03, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x03, addr=0x18, data=[6E 63 65 64]
LOGI LOG: Read 16 bytes: "nced Ergonomic M"
LOGI LOG: Reading device name chunk at offset 32/36...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x03, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x03, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x03, addr=0x18, data=[6F 75 73 65]
LOGI LOG: Read 4 bytes: "ouse"
LOGI LOG: π Device name assembled: "MX Vertical Advanced Ergonomic Mouse" (36 bytes)
LOGI LOG: β
Device name from HID++: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: BTTHIDPPFeatureCache: π Updated device name for 046d:c52b:slot1 to: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: BTTLogitechManager: π Device name updated to: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: BTTLogitechManager: β
Device ready - MX Vertical Advanced Ergonomic Mouse (Protocol 4.5)
LOGI LOG: BTTLogitechManager: π Checking for pending setup requests for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: Skipping debounced initializeLogitechMice - receiver enumeration in progress
LOGI LOG: BTTLogitechManager: β
Device ready in slot 1 - MX Vertical Advanced Ergonomic Mouse (Protocol 4.5)
LOGI LOG: BTTLogitechManager: π Checking for pending setup requests for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTHIDPPFeatureCache: Saved 1 device profiles to disk
LOGI LOG: BTTLogitechManager: β
Set macOS pointer settings for 'MX Vertical Advanced Ergonomic Mouse' (IOHIDDevice: 0x046D:0xC52B): speed=0.70, accel=10.00
LOGI LOG: BTTLogitechManager: β³ Deferring quick setup for 'MX Vertical Advanced Ergonomic Mouse' - receiver enumeration in progress
LOGI LOG: BTTLogitechManager: π₯ Queued deferred setup for 'MX Vertical Advanced Ergonomic Mouse' (total pending: 1)
LOGI LOG: BTTLogitechManager: Checking receiver slot 2...
LOGI LOG: BTTHIDPPProtocol: β No protocol instance found for device index 255 (0xFF), reportID=0x10
LOGI LOG: BTTHIDPPProtocol: Registry has 1 protocols for this device: (
1
)
LOGI LOG: - Device index 1 β protocol 0x8eb477f00
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x8F, addr=0x83, data=[B5 03 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x83, error=0xB5
LOGI LOG: BTTLogitechManager: Creating device for receiver slot 2...
LOGI LOG: BTTLogitechManager: Receiver retain count for slot 2: 5
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=2, IOHIDDevice retain count=5
LOGI LOG: BTTHIDPPDevice: Receiver slot 2 - using receiver IDs: 046d:c52b
LOGI LOG: Unknown device: USB Receiver (Slot) (046d:c52b) - using feature discovery, deviceIndex: 2, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 2, isSharedDevice: 1)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0x8eb476a00 for deviceIndex 2 (total protocols for this device: 2)
LOGI LOG: BTTHIDPPProtocol: Shared device - skipping open/schedule (already done by receiver setup)
LOGI LOG: BTTHIDPPProtocol: Input callback already registered by another slot - reusing it
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Created device for slot 2, discovering features...
LOGI LOG: BTTHIDPPFeatureCache: β No cached features for 046d:c52b:slot2
LOGI LOG: BTTHIDPPDevice: π No cached features for USB Receiver (Slot), performing full discovery...
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 2)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x02, sub_id(featureIdx)=0x8F, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x02, subID=0x8F, addr=0x00, data=[18 09 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x00, error=0x18
LOGI LOG: BTTHIDPPProtocol: β Protocol version detection failed: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: β Feature discovery failed for slot 2: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: Checking receiver slot 3...
LOGI LOG: BTTHIDPPProtocol: β No protocol instance found for device index 255 (0xFF), reportID=0x11
LOGI LOG: BTTHIDPPProtocol: Registry has 2 protocols for this device: (
1,
2
)
LOGI LOG: - Device index 1 β protocol 0x8eb477f00
LOGI LOG: - Device index 2 β protocol 0x8eb476a00
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x83, addr=0xB5, data=[02 12 11 00]
LOGI LOG: BTTLogitechManager: Creating device for receiver slot 3...
LOGI LOG: BTTLogitechManager: Receiver retain count for slot 3: 7
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=3, IOHIDDevice retain count=7
LOGI LOG: BTTHIDPPDevice: Receiver slot 3 - using receiver IDs: 046d:c52b
LOGI LOG: Unknown device: USB Receiver (Slot) (046d:c52b) - using feature discovery, deviceIndex: 3, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 3, isSharedDevice: 1)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0x8eb382d10 for deviceIndex 3 (total protocols for this device: 3)
LOGI LOG: BTTHIDPPProtocol: Shared device - skipping open/schedule (already done by receiver setup)
LOGI LOG: BTTHIDPPProtocol: Input callback already registered by another slot - reusing it
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Created device for slot 3, discovering features...
LOGI LOG: BTTHIDPPFeatureCache: β No cached features for 046d:c52b:slot3
LOGI LOG: BTTHIDPPDevice: π No cached features for USB Receiver (Slot), performing full discovery...
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 3)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x03, sub_id(featureIdx)=0x8F, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x03, subID=0x8F, addr=0x00, data=[18 09 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x00, error=0x18
LOGI LOG: BTTHIDPPProtocol: β Protocol version detection failed: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: β Feature discovery failed for slot 3: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: Checking receiver slot 4...
LOGI LOG: BTTHIDPPProtocol: β No protocol instance found for device index 255 (0xFF), reportID=0x11
LOGI LOG: BTTHIDPPProtocol: Registry has 3 protocols for this device: (
3,
1,
2
)
LOGI LOG: - Device index 3 β protocol 0x8eb382d10
LOGI LOG: - Device index 1 β protocol 0x8eb477f00
LOGI LOG: - Device index 2 β protocol 0x8eb476a00
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x83, addr=0xB5, data=[03 CC FA 93]
LOGI LOG: BTTLogitechManager: Creating device for receiver slot 4...
LOGI LOG: BTTLogitechManager: Receiver retain count for slot 4: 9
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=4, IOHIDDevice retain count=9
LOGI LOG: BTTHIDPPDevice: Receiver slot 4 - using receiver IDs: 046d:c52b
LOGI LOG: Unknown device: USB Receiver (Slot) (046d:c52b) - using feature discovery, deviceIndex: 4, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 4, isSharedDevice: 1)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0x8eb380e70 for deviceIndex 4 (total protocols for this device: 4)
LOGI LOG: BTTHIDPPProtocol: Shared device - skipping open/schedule (already done by receiver setup)
LOGI LOG: BTTHIDPPProtocol: Input callback already registered by another slot - reusing it
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Created device for slot 4, discovering features...
LOGI LOG: BTTHIDPPFeatureCache: β No cached features for 046d:c52b:slot4
LOGI LOG: BTTHIDPPDevice: π No cached features for USB Receiver (Slot), performing full discovery...
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 4)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x04, sub_id(featureIdx)=0x8F, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x04, subID=0x8F, addr=0x00, data=[18 09 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x00, error=0x18
LOGI LOG: BTTHIDPPProtocol: β Protocol version detection failed: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: β Feature discovery failed for slot 4: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: Checking receiver slot 5...
LOGI LOG: BTTHIDPPProtocol: β No protocol instance found for device index 255 (0xFF), reportID=0x10
LOGI LOG: BTTHIDPPProtocol: Registry has 4 protocols for this device: (
3,
2,
1,
4
)
LOGI LOG: - Device index 3 β protocol 0x8eb382d10
LOGI LOG: - Device index 2 β protocol 0x8eb476a00
LOGI LOG: - Device index 1 β protocol 0x8eb477f00
LOGI LOG: - Device index 4 β protocol 0x8eb380e70
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x8F, addr=0x83, data=[B5 03 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x83, error=0xB5
LOGI LOG: BTTLogitechManager: Creating device for receiver slot 5...
LOGI LOG: BTTLogitechManager: Receiver retain count for slot 5: 11
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=5, IOHIDDevice retain count=11
LOGI LOG: BTTHIDPPDevice: Receiver slot 5 - using receiver IDs: 046d:c52b
LOGI LOG: Unknown device: USB Receiver (Slot) (046d:c52b) - using feature discovery, deviceIndex: 5, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 5, isSharedDevice: 1)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0x8eb3811f0 for deviceIndex 5 (total protocols for this device: 5)
LOGI LOG: BTTHIDPPProtocol: Shared device - skipping open/schedule (already done by receiver setup)
LOGI LOG: BTTHIDPPProtocol: Input callback already registered by another slot - reusing it
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Created device for slot 5, discovering features...
LOGI LOG: BTTHIDPPFeatureCache: β No cached features for 046d:c52b:slot5
LOGI LOG: BTTHIDPPDevice: π No cached features for USB Receiver (Slot), performing full discovery...
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 5)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x05, sub_id(featureIdx)=0x8F, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x05, subID=0x8F, addr=0x00, data=[18 09 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x00, error=0x18
LOGI LOG: BTTHIDPPProtocol: β Protocol version detection failed: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: β Feature discovery failed for slot 5: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: Checking receiver slot 6...
LOGI LOG: BTTHIDPPProtocol: β No protocol instance found for device index 255 (0xFF), reportID=0x10
LOGI LOG: BTTHIDPPProtocol: Registry has 5 protocols for this device: (
3,
2,
5,
1,
4
)
LOGI LOG: - Device index 3 β protocol 0x8eb382d10
LOGI LOG: - Device index 2 β protocol 0x8eb476a00
LOGI LOG: - Device index 5 β protocol 0x8eb3811f0
LOGI LOG: - Device index 1 β protocol 0x8eb477f00
LOGI LOG: - Device index 4 β protocol 0x8eb380e70
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0xFF, subID=0x8F, addr=0x83, data=[B5 03 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x83, error=0xB5
LOGI LOG: BTTLogitechManager: Creating device for receiver slot 6...
LOGI LOG: BTTLogitechManager: Receiver retain count for slot 6: 13
LOGI LOG: BTTHIDPPDevice: Initializing with deviceIndex=6, IOHIDDevice retain count=13
LOGI LOG: BTTHIDPPDevice: Receiver slot 6 - using receiver IDs: 046d:c52b
LOGI LOG: Unknown device: USB Receiver (Slot) (046d:c52b) - using feature discovery, deviceIndex: 6, transport: USB
LOGI LOG: BTTHIDPPProtocol: Starting protocol (deviceIndex: 6, isSharedDevice: 1)...
LOGI LOG: BTTHIDPPProtocol: β
Registered protocol 0x8eb383720 for deviceIndex 6 (total protocols for this device: 6)
LOGI LOG: BTTHIDPPProtocol: Shared device - skipping open/schedule (already done by receiver setup)
LOGI LOG: BTTHIDPPProtocol: Input callback already registered by another slot - reusing it
LOGI LOG: BTTHIDPPProtocol: Supports short reports: YES, long reports: YES
LOGI LOG: BTTLogitechManager: Created device for slot 6, discovering features...
LOGI LOG: BTTHIDPPFeatureCache: β No cached features for 046d:c52b:slot6
LOGI LOG: BTTHIDPPDevice: π No cached features for USB Receiver (Slot), performing full discovery...
LOGI LOG: BTTHIDPPProtocol: Detecting protocol version (deviceIndex: 6)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x06, sub_id(featureIdx)=0x8F, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 1 pending requests for match
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x06, subID=0x8F, addr=0x00, data=[18 09 00 00]
LOGI LOG: BTTLogitechManager: β Receiver error response: register=0x00, error=0x18
LOGI LOG: BTTHIDPPProtocol: β Protocol version detection failed: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: β Feature discovery failed for slot 6: HID++ error: 0x09
LOGI LOG: BTTLogitechManager: β
Finished enumerating all receiver slots
LOGI LOG: BTTLogitechManager: π§Ή Cleared 1 deferred device setup request(s) - will be re-triggered by initializeLogitechMice
LOGI LOG: BTTLogitechManager: Triggering initializeLogitechMice after receiver enumeration complete
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: Found 1 Logitech device(s):
LOGI LOG: ββββββββββββββββββββββββββββββββββββββββββββββ
LOGI LOG: Device 1: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: ββββββββββββββββββββββββββββββββββββββββββββββ
LOGI LOG: π Basic Information:
LOGI LOG: Vendor ID: 0x046d (Logitech)
LOGI LOG: Product ID: 0xc52b
LOGI LOG: Database: β οΈ Unknown device (will use feature discovery)
LOGI LOG: Device Index: 1 (0x01)
LOGI LOG:
π Protocol Information:
LOGI LOG: HID++ Version: 4.5
LOGI LOG: Status: β
Ready
LOGI LOG:
β¨ Supported Features:
LOGI LOG: DPI Control: β
YES
LOGI LOG: Button Diversion: β
YES β
LOGI LOG: LED Control: β NO
LOGI LOG: Onboard Profiles: β NO
LOGI LOG: Report Rate: β NO
LOGI LOG: Battery Monitoring: β
YES
LOGI LOG:
LOGI LOG: ==============================================
LOGI LOG: Scan complete. Found 1 device(s).
LOGI LOG: ==============================================
LOGI LOG: BTTLogitechManager: β
Set macOS pointer settings for 'MX Vertical Advanced Ergonomic Mouse' (IOHIDDevice: 0x046D:0xC52B): speed=0.70, accel=10.00
LOGI LOG: BTTLogitechManager: Quick setup for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: π Started quick setup for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse:slot1)
LOGI LOG: BTTLogitechManager: β
Device 'MX Vertical Advanced Ergonomic Mouse' is ready (slot 1), proceeding with quick setup
LOGI LOG: BTTLogitechManager: Stored pending LED effect for atomic profile write
LOGI LOG: BTTLogitechManager: Remapping buttons to standard mouse buttons for 'MX Vertical Advanced Ergonomic Mouse' (remapScrollTilt=0)...
LOGI LOG: BTTLogitechManager: Using runtime task ID remapping (0x1b04) - NO flash writes
LOGI LOG: BTTLogitechManager: Factory profiles preserved - buttons revert on disconnect
LOGI LOG: BTTHIDPPButtonCache: β
Found cached buttons for 046d:c52b:slot1 (7 buttons, cached 2026-01-20 14:58:37 +0000)
LOGI LOG: BTTHIDPPButtonManager: β‘ Loaded 7 buttons from persistent cache (FAST STARTUP)
LOGI LOG: BTTLogitechManager: β‘ Loaded 7 buttons from persistent cache for remapping (FAST STARTUP)
LOGI LOG: BTTLogitechManager: β‘ Using 7 cached buttons for remapping
LOGI LOG: BTTLogitechManager: Found 7 buttons, analyzing task IDs...
LOGI LOG: BTTLogitechManager: Device 'MX Vertical Advanced Ergonomic Mouse' detected, isMXMaster4=0
LOGI LOG: BTTLogitechManager: Processing button 0x0050, flags=0x11
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0050 (Left) β button 0
LOGI LOG: BTTLogitechManager: Processing button 0x0051, flags=0x11
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0051 (Right) β button 1
LOGI LOG: BTTLogitechManager: Processing button 0x0052, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0052 (Middle) β button 2
LOGI LOG: BTTLogitechManager: Processing button 0x0053, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0053 (Back) β button 3
LOGI LOG: BTTLogitechManager: Processing button 0x0056, flags=0x71
LOGI LOG: BTTLogitechManager: β Fixed mapping: 0x0056 (Forward) β button 4
LOGI LOG: BTTLogitechManager: Processing button 0x00FD, flags=0x71
LOGI LOG: BTTLogitechManager: Processing button 0x00D7, flags=0xA0
LOGI LOG: BTTLogitechManager: β Skipping non-reprogrammable button 0x00D7
LOGI LOG: BTTLogitechManager: β Dynamic mapping: controlId 0x00FD β button 10 (sorted by controlId)
LOGI LOG: BTTLogitechManager: β
Created dynamic button mapping for 'MX Vertical Advanced Ergonomic Mouse' with 6 buttons
LOGI LOG: BTTLogitechManager: π Undiversting all reprogrammable buttons first to reset state...
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0050 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0051 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Skipping standard button 0x0052 (preserving default behavior)
LOGI LOG: BTTLogitechManager: Including virtual divertable button 0x00D7 (flags=0xA0) for undivert
LOGI LOG: BTTHIDPPButtonManager: π Sequential undiverting 4 buttons (receiver slot 1)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x08, data=[01 00 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x08, data=[07 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: π Device reports 7 keys/buttons to enumerate
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x08, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x08, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x08, addr=0x08, data=[32 14 00 00]
LOGI LOG:
π Battery:
LOGI LOG: Level: 50%
LOGI LOG: Status: Discharging
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 53 2A 00]
LOGI LOG: BTTHIDPPButtonManager: β Marked button 0x0053 as not diverted (total: 0)
LOGI LOG: BTTLogitechManager: Already running
LOGI LOG:
==============================================
LOGI LOG: BTTLogitechManager: Scanning for Logitech Devices
LOGI LOG: ==============================================
LOGI LOG: Found 1 Logitech device(s):
LOGI LOG: ββββββββββββββββββββββββββββββββββββββββββββββ
LOGI LOG: Device 1: MX Vertical Advanced Ergonomic Mouse
LOGI LOG: ββββββββββββββββββββββββββββββββββββββββββββββ
LOGI LOG: π Basic Information:
LOGI LOG: Vendor ID: 0x046d (Logitech)
LOGI LOG: Product ID: 0xc52b
LOGI LOG: Database: β οΈ Unknown device (will use feature discovery)
LOGI LOG: Device Index: 1 (0x01)
LOGI LOG:
π Protocol Information:
LOGI LOG: HID++ Version: 4.5
LOGI LOG: Status: β
Ready
LOGI LOG:
β¨ Supported Features:
LOGI LOG: DPI Control: β
YES
LOGI LOG: Button Diversion: β
YES β
LOGI LOG: LED Control: β NO
LOGI LOG: Onboard Profiles: β NO
LOGI LOG: Report Rate: β NO
LOGI LOG: Battery Monitoring: β
YES
LOGI LOG:
LOGI LOG: ==============================================
LOGI LOG: Scan complete. Found 1 device(s).
LOGI LOG: ==============================================
LOGI LOG: BTTLogitechManager: β
Set macOS pointer settings for 'MX Vertical Advanced Ergonomic Mouse' (IOHIDDevice: 0x046D:0xC52B): speed=0.70, accel=10.00
LOGI LOG: BTTLogitechManager: Quick setup for 'MX Vertical Advanced Ergonomic Mouse'...
LOGI LOG: BTTLogitechManager: βοΈ Quick setup already in progress for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse:slot1), skipping duplicate call
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 5 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x18, data=[00 01 90 E0]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 5 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 50 00 38]
LOGI LOG: BTTHIDPPButtonManager: π [0] Key/Button 0x0050: flags=0x11 [MouseBtn|Reprog] divertable=0 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 6 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x08, data=[01 00 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 6 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x08, data=[07 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: π Device reports 7 keys/buttons to enumerate
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x08, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 6 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x08, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x08, addr=0x08, data=[32 14 00 00]
LOGI LOG:
π Battery:
LOGI LOG: Level: 50%
LOGI LOG: Status: Discharging
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 5 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x28, data=[00 03 E8 03]
LOGI LOG:
π― DPI Information:
LOGI LOG: Sensor 0:
LOGI LOG: Current DPI: 1000
LOGI LOG: Range: 400 - 4000 (step: 100)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 50 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 56 2A 00]
LOGI LOG: BTTHIDPPButtonManager: β Marked button 0x0056 as not diverted (total: 0)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x18, data=[00 01 90 E0]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 50 00 38]
LOGI LOG: BTTHIDPPButtonManager: π [0] Key/Button 0x0050: flags=0x11 [MouseBtn|Reprog] divertable=0 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 4 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 FD 2A 00]
LOGI LOG: BTTHIDPPButtonManager: β Marked button 0x00FD as not diverted (total: 0)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x28, data=[00 03 E8 03]
LOGI LOG:
π― DPI Information:
LOGI LOG: Sensor 0:
LOGI LOG: Current DPI: 1000
LOGI LOG: Range: 400 - 4000 (step: 100)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 50 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 D7 2A 00]
LOGI LOG: BTTHIDPPButtonManager: β Marked button 0x00D7 as not diverted (total: 0)
LOGI LOG: BTTHIDPPButtonManager: π Sequential undiversion complete: 4/4 succeeded
LOGI LOG: BTTLogitechManager: β
Undivert phase complete (4/4), proceeding with button configuration...
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0050 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0051 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Preserving standard button 0x0052 (keeping default behavior)
LOGI LOG: BTTLogitechManager: Remapping extra button 0x0053: task 0x003C β 0x005E
LOGI LOG: BTTLogitechManager: Remapping extra button 0x0056: task 0x003E β 0x005F
LOGI LOG: BTTLogitechManager: Remapping extra button 0x00FD: task 0x00D2 β 0x0060
LOGI LOG: BTTLogitechManager: Skipping non-reprogrammable button 0x00D7
LOGI LOG: BTTLogitechManager: π Sequential remapping 3 buttons (receiver slot 1)...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 51 00 39]
LOGI LOG: BTTHIDPPButtonManager: π [1] Key/Button 0x0051: flags=0x11 [MouseBtn|Reprog] divertable=0 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 53 2E 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 51 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 56 2E 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 52 00 3A]
LOGI LOG: BTTHIDPPButtonManager: π [1] Key/Button 0x0052: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x38, data=[00 FD 2E 00]
LOGI LOG: BTTLogitechManager: β
Remapped 3 buttons via task IDs
LOGI LOG: BTTLogitechManager: No scroll wheel manager, skipping hi-res scroll
LOGI LOG: BTTLogitechManager: No scroll wheel manager, skipping main wheel invert
LOGI LOG: BTTLogitechManager: Setting DPI for 'MX Vertical Advanced Ergonomic Mouse' to 2000...
LOGI LOG: BTTLogitechManager: First-time DPI setup - enumerating sensors...
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 52 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x08
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x00)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x08, data=[01 00 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 52 00 3A]
LOGI LOG: BTTHIDPPButtonManager: π [2] Key/Button 0x0052: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x18, data=[00 01 90 E0]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 52 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x28, data=[00 03 E8 03]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 53 00 3C]
LOGI LOG: BTTHIDPPButtonManager: π [2] Key/Button 0x0053: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x12, address=0x38
LOGI LOG: BTTHIDPPProtocol: π Checking 3 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x12, func=0x03)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x12, addr=0x38, data=[00 00 00 00]
LOGI LOG: BTTLogitechManager: β
DPI set to 2000 for 'MX Vertical Advanced Ergonomic Mouse' (sensor 0)
LOGI LOG: BTTLogitechManager: β Device 'MX Vertical Advanced Ergonomic Mouse' does not support report rate control
LOGI LOG: BTTLogitechManager: β οΈ Report rate setup failed: Device 'MX Vertical Advanced Ergonomic Mouse' does not support report rate control
LOGI LOG: BTTLogitechManager: Setting SmartShift for 'MX Vertical Advanced Ergonomic Mouse' (ratchet: 0, autoDisengage: 20, torque: 80)...
LOGI LOG: BTTLogitechManager: β οΈ SmartShift setup failed: Device not found or doesn't support scroll wheel features
LOGI LOG: BTTLogitechManager: π Quick setup guard cleared for 'MX Vertical Advanced Ergonomic Mouse' (guard key: MX Vertical Advanced Ergonomic Mouse:slot1)
LOGI LOG: BTTLogitechManager: β
Quick setup complete for 'MX Vertical Advanced Ergonomic Mouse'
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 53 04 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 53 00 3C]
LOGI LOG: BTTHIDPPButtonManager: π [3] Key/Button 0x0053: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 53 04 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 56 00 3E]
LOGI LOG: BTTHIDPPButtonManager: π [3] Key/Button 0x0056: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 56 04 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 56 00 3E]
LOGI LOG: BTTHIDPPButtonManager: π [4] Key/Button 0x0056: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 56 04 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 FD 00 D2]
LOGI LOG: BTTHIDPPButtonManager: π [4] Key/Button 0x00FD: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 FD 04 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 FD 00 D2]
LOGI LOG: BTTHIDPPButtonManager: π [5] Key/Button 0x00FD: flags=0x71 [MouseBtn|Reprog|DIVERT|Persist] divertable=1 virtual=0
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 FD 04 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 D7 00 B4]
LOGI LOG: BTTHIDPPButtonManager: π [5] Key/Button 0x00D7: flags=0xA0 [DIVERT|VIRTUAL] divertable=1 virtual=1
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 D7 00 00]
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x18
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x01)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x18, data=[00 D7 00 B4]
LOGI LOG: BTTHIDPPButtonManager: π [6] Key/Button 0x00D7: flags=0xA0 [DIVERT|VIRTUAL] divertable=1 virtual=1
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x28
LOGI LOG: BTTHIDPPProtocol: π Checking 2 pending requests for match
LOGI LOG: BTTHIDPPProtocol: β
Matched to pending request (feat=0x0A, func=0x02)
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x28, data=[00 D7 00 00]
LOGI LOG:
π±οΈ Buttons:
LOGI LOG: Total: 7 buttons
LOGI LOG: Available for diversion:
LOGI LOG: Button at position 0 (controlId: 0x0050)
LOGI LOG: Button at position 0 (controlId: 0x0051)
LOGI LOG: Button at position 0 (controlId: 0x0052)
LOGI LOG: Button at position 0 (controlId: 0x0053)
LOGI LOG: Button at position 0 (controlId: 0x0056)
LOGI LOG: Button at position 0 (controlId: 0x00FD)
LOGI LOG: Button at position 0 (controlId: 0x00D7)
LOGI LOG: BTTHIDPPProtocol: β±οΈ Request timeout after 2.0 seconds
LOGI LOG: Feature Index: 0x0A, Function ID: 0x01, Device Index: 1
LOGI LOG: Pending requests before timeout: 1
LOGI LOG: Device may not support this feature or function.
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 0 pending requests for match
LOGI LOG: BTTHIDPPProtocol: π’ Message did NOT match any pending request - treating as EVENT
LOGI LOG: BTTHIDPPProtocol: π¨ Handling event for feature index 0x0A
LOGI LOG: BTTHIDPPProtocol: π Feature index 0x0A β Feature ID 0x1B04
LOGI LOG: BTTHIDPPProtocol: β
Dispatching to event handler for feature 0x1B04
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x00, data=[00 FD 00 00]
LOGI LOG: BTTHIDPPButtonManager: π― handleButtonEvent CALLED! address=0x00, params=[00 FD 00 00 00 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: State change - Currently pressed: {(
253
)}, Newly pressed: {(
253
)}, Released: {(
)}
LOGI LOG: BTTHIDPPButtonManager: β οΈ Ignoring HID++ event for non-diverted button 0x00FD (native HID will handle it)
LOGI LOG: BTTHIDPPProtocol: π INCOMING MESSAGE: deviceIdx=0x01, sub_id(featureIdx)=0x0A, address=0x00
LOGI LOG: BTTHIDPPProtocol: π Checking 0 pending requests for match
LOGI LOG: BTTHIDPPProtocol: π’ Message did NOT match any pending request - treating as EVENT
LOGI LOG: BTTHIDPPProtocol: π¨ Handling event for feature index 0x0A
LOGI LOG: BTTHIDPPProtocol: π Feature index 0x0A β Feature ID 0x1B04
LOGI LOG: BTTHIDPPProtocol: β
Dispatching to event handler for feature 0x1B04
LOGI LOG: BTTLogitechManager: π₯ Receiver notification: dev=0x01, subID=0x0A, addr=0x00, data=[00 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: π― handleButtonEvent CALLED! address=0x00, params=[00 00 00 00 00 00 00 00]
LOGI LOG: BTTHIDPPButtonManager: State change - Currently pressed: {(
)}, Newly pressed: {(
)}, Released: {(
253
)}
LOGI LOG: BTTHIDPPButtonManager: β οΈ Ignoring HID++ release for non-diverted button 0x00FD (native HID will handle it)
LOGI LOG:
LOGI LOG: ========================================
LOGI LOG: Connected Devices Summary:
LOGI LOG: ========================================
LOGI LOG: - MX Vertical Advanced Ergonomic Mouse (VID:0x046d PID:0xc52b) Ready:YES Type:Mouse
LOGI LOG: - USB Receiver (Slot) (VID:0x046d PID:0xc52b) Ready:NO Type:Mouse
LOGI LOG: - USB Receiver (Slot) (VID:0x046d PID:0xc52b) Ready:NO Type:Mouse
LOGI LOG: - USB Receiver (Slot) (VID:0x046d PID:0xc52b) Ready:NO Type:Mouse
LOGI LOG: - USB Receiver (Slot) (VID:0x046d PID:0xc52b) Ready:NO Type:Mouse
LOGI LOG: - USB Receiver (Slot) (VID:0x046d PID:0xc52b) Ready:NO Type:Mouse
LOGI LOG:
LOGI LOG: ========================================
LOGI LOG: G604 Scroll Slot Debug:
LOGI LOG: ========================================
LOGI LOG: No G604 devices found
LOGI LOG: ========================================
LOGI LOG: End of Debug Information
LOGI LOG: ========================================
@seldo looking at the log I believe this is the same issue that was already fixed yesterday with 6.109! (check for alpha version updates)
it's working again with 6.109!





