pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.54k stars 410 forks source link

Logitech M325, Scroll Wheel High Resolution, Read/write operation failed. #2201

Closed Jerther closed 11 months ago

Jerther commented 11 months ago

Information

$ solaar show ``` solaar version 1.1.10 USB and Bluetooth Devices 1: Bluetooth Multi-Device Keyboard K380 Device path : /dev/hidraw7 USB id : 046d:B342 Codename : Keyboard K380 Kind : ? Protocol : HID++ 4.5 Serial number: Model ID: B34200000000 Unit ID: DC000000 Firmware: RBK 42.01.B0017 Hardware: 72 Supports 15 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V1 Firmware: Firmware RBK 42.01.B0017 B342C18DBFDD Firmware: Hardware 72 Unit ID: DC000000 Model ID: B34200000000 Transport IDs: {'btid': 'B342'} 3: DEVICE NAME {0005} V0 Name: Bluetooth Multi-Device Keyboard K380 Kind: keyboard 4: DEVICE FRIENDLY NAME {0007} V0 Friendly Name: Keyboard K380 5: CONFIG CHANGE {0020} V0 6: BATTERY STATUS {1000} V0 Battery: 50%, discharging, next level 20%. 7: CHANGE HOST {1814} V1 Change Host : 1:m90q 8: HOSTS INFO {1815} V0 Host 0 (paired): m90q Host 1 (paired): Chromebox_1C91 Host 2 (paired): Chromebook_4747 9: REPROG CONTROLS V4 {1B04} V0 Key/Button Diversion (saved): {Volume Up:Regular, Volume Down:Regular, Mute:Regular, Play/Pause:Regular, Next:Regular, Previous:Regular, Search:Regular, Multiplatform App Switch:Regular, Multiplatform Home:Regular, Multiplatform Menu:Regular, Multiplatform Back:Regular, Multiplatform Insert:Regular, Screen Capture/Print Screen:Regular, Fn Down:Regular, Fn Up:Regular, Multiplatform Lock:Regular} Key/Button Diversion : {Volume Up:Regular, Volume Down:Regular, Mute:Regular, Play/Pause:Regular, Next:Regular, Previous:Regular, Search:Regular, Multiplatform App Switch:Regular, Multiplatform Home:Regular, Multiplatform Menu:Regular, Multiplatform Back:Regular, Multiplatform Insert:Regular, Screen Capture/Print Screen:Regular, Fn Down:Regular, Fn Up:Regular, Multiplatform Lock:Regular} 10: unknown:1E00 {1E00} V0 hidden 11: NEW FN INVERSION {40A2} V0 Fn-swap: disabled Fn-swap default: enabled Swap Fx function (saved): False Swap Fx function : False 12: LOCK KEY STATE {4220} V0 13: KEYBOARD DISABLE KEYS {4521} V0 Disable keys (saved): {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False} Disable keys : {Caps Lock:False, Scroll Lock:False, Insert:False, Win:False} 14: MULTIPLATFORM {4531} V0 Set OS (saved): Linux Set OS : Linux Has 16 reprogrammable keys: 0: Multiplatform Home , default: MultiPlatform Home => MultiPlatform Home is FN, FN sensitive, reprogrammable, divertable, pos:4, group:0, group mask:empty reporting: default 1: Multiplatform App Switch , default: MultiPlatform App Switch => MultiPlatform App Switch is FN, FN sensitive, reprogrammable, divertable, pos:5, group:0, group mask:empty reporting: default 2: Multiplatform Menu , default: MultiPlatform Menu => MultiPlatform Menu is FN, FN sensitive, reprogrammable, divertable, pos:6, group:0, group mask:empty reporting: default 3: Multiplatform Back , default: MultiPlatform Back => MultiPlatform Back is FN, FN sensitive, reprogrammable, divertable, pos:7, group:0, group mask:empty reporting: default 4: Previous , default: Previous => Previous is FN, FN sensitive, divertable, pos:8, group:0, group mask:empty reporting: default 5: Play/Pause , default: Play/Pause => Play/Pause is FN, FN sensitive, divertable, pos:9, group:0, group mask:empty reporting: default 6: Next , default: Next => Next is FN, FN sensitive, divertable, pos:10, group:0, group mask:empty reporting: default 7: Mute , default: Mute => Mute is FN, FN sensitive, divertable, pos:11, group:0, group mask:empty reporting: default 8: Volume Down , default: Volume Down => Volume Down is FN, FN sensitive, divertable, pos:12, group:0, group mask:empty reporting: default 9: Volume Up , default: Volume Up => Volume Up is FN, FN sensitive, divertable, pos:0, group:0, group mask:empty reporting: default 10: Multiplatform Insert , default: Switch Language => Switch Language FN sensitive, reprogrammable, divertable, pos:0, group:0, group mask:empty reporting: default 11: Fn Up , default: unknown:0070 => unknown:0070 is FN, divertable, pos:0, group:0, group mask:empty reporting: default 12: Fn Down , default: unknown:006F => unknown:006F is FN, divertable, pos:0, group:0, group mask:empty reporting: default 13: Screen Capture/Print Screen, default: Screen Capture => Screen Capture is FN, reprogrammable, divertable, pos:0, group:0, group mask:empty reporting: default 14: Search , default: Search Files => Search Files is FN, reprogrammable, divertable, pos:0, group:0, group mask:empty reporting: default 15: Multiplatform Lock , default: WindowsLock => WindowsLock is FN, reprogrammable, divertable, pos:0, group:0, group mask:empty reporting: default Battery: 50%, discharging, next level 20%. Unifying Receiver Device path : /dev/hidraw0 USB id : 046d:C52B Serial : 0FC696D6 Firmware : 24.10.B0036 Bootloader : 00.06 Has 1 paired device(s) out of a maximum of 6. Notifications: wireless (0x000100) Device activity counters: 1=233 1: Wireless Mouse M325 Device path : /dev/hidraw4 WPID : 400A Codename : M325 Kind : mouse Protocol : HID++ 2.0 Polling rate : 8 ms (125Hz) Serial number: D72D97E9 Model ID: 000000000000 Unit ID: 00000000 Firmware: RQM 40.01.B0018 The power switch is located on the base. Supports 22 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V0 Firmware: Firmware RQM 40.01.B0018 400A Unit ID: 00000000 Model ID: 000000000000 Transport IDs: {} 3: DEVICE NAME {0005} V0 Name: Wireless Mouse M325 Kind: mouse 4: BATTERY STATUS {1000} V0 Battery: 70%, discharging, next level 5%. 5: unknown:1830 {1830} V0 internal, hidden 6: unknown:1850 {1850} V0 internal, hidden 7: unknown:1860 {1860} V0 internal, hidden 8: unknown:1890 {1890} V0 internal, hidden 9: unknown:18A0 {18A0} V0 internal, hidden 10: unknown:18C0 {18C0} V0 internal, hidden 11: WIRELESS DEVICE STATUS {1D4B} V0 12: unknown:1DF3 {1DF3} V0 internal, hidden 13: REPROG CONTROLS {1B00} V0 14: REMAINING PAIRING {1DF0} V0 hidden Remaining Pairings: 117 15: unknown:1E00 {1E00} V0 hidden 16: unknown:1E80 {1E80} V0 internal, hidden 17: unknown:1E90 {1E90} V0 internal, hidden 18: unknown:1F03 {1F03} V0 internal, hidden 19: VERTICAL SCROLLING {2100} V0 Roller type: micro Ratchet per turn: 36 Scroll lines: 0 20: MOUSE POINTER {2200} V0 DPI: 800 Acceleration: low Override OS ballistics No vertical tuning, standard mice 21: unknown:18B0 {18B0} V0 internal, hidden Battery: 70%, discharging, next level 5%. ```
``` $ cat ~/.config/solaar/config.yaml - 1.1.10 - _NAME: Wireless Mouse M325 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: D72D97E9 _wpid: '0440' - _NAME: Performance Mouse MX _sensitive: {dpi-old: false, smooth-scroll: true} _serial: 45ACA9D5 _wpid: 101A dpi-old: 136 side-scroll: true smooth-scroll: true - _NAME: Wireless Mouse M305 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: A0A182F5 _wpid: 101F side-scroll: true - _NAME: Wireless Mouse M305 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: D52463E9 _wpid: 101F side-scroll: true - _NAME: Wireless Mouse M305 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: D72D97E9 _wpid: 101F - _NAME: Wireless Mouse M510 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 742A3088 _wpid: '1025' side-scroll: true - _NAME: Wireless Illuminated Keyboard K800 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 9CD726D0 _wpid: '2010' fn-swap: false hand-detection: true - _NAME: Wireless Mouse M325 _absent: [lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, dpi, speed-change, backlight, backlight-timed, fn-swap, reprogrammable-keys, persistent-remappable-keys, divert-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, change-host, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, adc_power_management] _battery: 4096 _modelId: Wireless Mouse M325 _sensitive: {hi-res-scroll: true} _serial: D72D97E9 _unitId: '00000000' _wpid: 400A hi-res-scroll: true - _NAME: Wireless Mouse M510 _modelId: '405100000000' _sensitive: {lowres-smooth-scroll: true} _serial: 1328F9E8 _unitId: 1328F9E8 _wpid: '4051' divert-keys: {80: 0, 81: 0, 82: 0, 83: 0, 86: 0, 91: 0, 93: 0} lowres-smooth-scroll: false pointer_speed: 256 reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 91: 91, 93: 93} - _NAME: MX Master 3 Wireless Mouse _modelId: B02340820000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 34A6AAD6 _unitId: 34A6AAD6 _wpid: '4082' divert-keys: {82: 0, 83: 0, 86: 0, 195: 0, 196: 0} dpi: 1000 hires-smooth-invert: false hires-smooth-resolution: true reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 195: 195, 196: 196} smart-shift: 0 thumb-scroll-invert: false thumb-scroll-mode: false - _NAME: K580 _modelId: B35D408C0000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 17AAF9A7 _unitId: 31AD4E28 _wpid: 408C disable-keyboard-keys: {1: false, 2: false, 4: false, 8: false, 16: false} fn-swap: false multiplatform: 0 - _NAME: K780 Multi-Device Wireless Keyboard _modelId: B33B405B0000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 704AA4EF _unitId: 704AA4EF _wpid: B33B405B0000 disable-keyboard-keys: {1: false, 2: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 189: 0, 190: 0, 191: 0, 192: 0, 193: 0, 194: 0, 209: 0, 210: 0, 211: 0, 212: 0, 213: 0, 214: 0} fn-swap: true multiplatform: 0 - _NAME: Bluetooth Multi-Device Keyboard K380 _modelId: B34200000000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 0C010100 _unitId: 0C010100 _wpid: B34200000000 disable-keyboard-keys: {1: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 62: 0, 186: 0, 187: 0, 188: 0, 189: 0, 190: 0, 191: 0, 192: 0, 193: 0, 194: 0} fn-swap: true multiplatform: 1 - _NAME: Bluetooth Multi-Device Keyboard K380 _modelId: B34200000000 _sensitive: {fn-swap: false} _serial: 5C000000 _unitId: 5C000000 _wpid: B34200000000 change-host: null disable-keyboard-keys: {1: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 62: 0, 186: 0, 187: 0, 188: 0, 189: 0, 190: 0, 191: 0, 192: 0, 193: 0, 194: 0} fn-swap: false multiplatform: 1 - _NAME: Bluetooth Multi-Device Keyboard K380 _modelId: B34200000000 _sensitive: {change-host: ignore, fn-swap: false} _serial: 5C000100 _unitId: 5C000100 _wpid: B34200000000 disable-keyboard-keys: {1: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 62: 0, 186: 0, 187: 0, 188: 0, 189: 0, 190: 0, 191: 0, 192: 0, 193: 0, 194: 0} fn-swap: false multiplatform: 1 - _NAME: Bluetooth Multi-Device Keyboard K380 _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, dpi, speed-change, backlight, backlight-timed, reprogrammable-keys, persistent-remappable-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, adc_power_management] _battery: 4096 _modelId: B34200000000 _sensitive: {change-host: false, divert-keys: false, fn-swap: false, multiplatform: false} _serial: DC000000 _unitId: DC000000 _wpid: B34200000000 change-host: null disable-keyboard-keys: {1: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 62: 0, 186: 0, 187: 0, 188: 0, 189: 0, 190: 0, 191: 0, 192: 0, 193: 0, 194: 0} fn-swap: false multiplatform: 1 - _NAME: Bluetooth Multi-Device Keyboard K380 _modelId: B34200000000 _sensitive: {fn-swap: false} _serial: DC000100 _unitId: DC000100 _wpid: B34200000000 disable-keyboard-keys: {1: false, 4: false, 8: false, 16: false} divert-keys: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 62: 0, 186: 0, 187: 0, 188: 0, 189: 0, 190: 0, 191: 0, 192: 0, 193: 0, 194: 0} fn-swap: false multiplatform: 1 - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: M720 Triathlon Multi-Device Mouse _modelId: B015405E0000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: B73C97D9 _unitId: 5648447B _wpid: 405E divert-keys: {82: 0, 83: 0, 86: 0, 91: 0, 93: 0, 208: 0} hires-scroll-mode: false hires-smooth-invert: false hires-smooth-resolution: true pointer_speed: 256 reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 91: 91, 93: 93, 208: 208} - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {fn-swap: false} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Wireless Mouse M525 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: A708D10F _unitId: '00000000' _wpid: '4013' - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _modelId: '000000000000' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: Illuminated Keyboard K810 _absent: [hi-res-scroll, lowres-scroll-mode, hires-smooth-invert, hires-smooth-resolution, hires-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, pointer_speed, dpi, speed-change, backlight, backlight-timed, reprogrammable-keys, persistent-remappable-keys, divert-keys, disable-keyboard-keys, crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, change-host, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer, adc_power_management] _battery: 4096 _modelId: Illuminated Keyboard K810 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _unitId: '00000000' fn-swap: false - _NAME: MX Keys Keyboard _modelId: B35B408A0000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 222936BA _unitId: 222936BA _wpid: 408A backlight: true change-host: null disable-keyboard-keys: {1: false, 2: false, 4: false, 8: false, 16: false} divert-keys: {10: 0, 110: 0, 111: 0, 191: 0, 199: 0, 200: 0, 209: 0, 210: 0, 211: 0, 224: 0, 225: 0, 226: 0, 227: 0, 228: 0, 229: 0, 230: 0, 231: 0, 232: 0, 233: 0, 234: 0, 235: 0, 236: 0} fn-swap: true multiplatform: 0 - _NAME: Wireless Mouse M325 _modelId: 400A00000000 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 5EEF66AB _unitId: 5EEF66AB _wpid: 400A hi-res-scroll: null - _NAME: 'Wireless Mouse ' _modelId: 'Wireless Mouse ' _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: '00000000' _unitId: '00000000' _wpid: '4091' - _NAME: Wireless Keyboard MK270 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: '00000000' _wpid: '4023' fn-swap: null - _NAME: Wireless Mouse M305 _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: A708D10F _wpid: 101F side-scroll: null - _NAME: Performance Mouse MX _sensitive: {hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore} _serial: 444F3E5B _wpid: 101A dpi-old: 137 side-scroll: true smooth-scroll: true ```
``` 2023-12-13 10:38:26,482,482 DEBUG [MainThread] solaar.ui.icons: battery icon for 70:False = battery-good 2023-12-13 10:38:26,483,483 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: cached value False on 2023-12-13 10:38:31,622,622 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 10:38:31,623,623 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 10:38:31,623,623 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 10:38:31,624,624 DEBUG [AsyncUI] logitech_receiver.base: (23) <= w[11 01 000A 21200000000000000000000000000000] 2023-12-13 10:38:31,725,725 DEBUG [AsyncUI] logitech_receiver.base: (23) => r[11 01 000A 00000000000000000000000000000000] 2023-12-13 10:38:31,725,725 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (20) => r[11 01 000A 00000000000000000000000000000000] ```

Describe the bug Cannot toggle "Scroll Wheel High Resolution" on the M325

To Reproduce Steps to reproduce the behavior:

Screenshots image

Additional context The mouse works fine otherwise.

pfps commented 11 months ago

Is this error repeatable? The debug output you provided doesn't seem to have an error in it.

Jerther commented 11 months ago

Yes this is very easily repeatable. I also noticed there was nothing in the console with -dd, let alone an error, so I tried with -ddd to at least get something.

pfps commented 11 months ago

If there is an error, there should be some messages in the output of solaar -ddd, but the interaction with the device shown above appears to be fine. That said, maybe there is a bug in the Solaar code that is misinterpreting the interaction.

Please try solaar -ddd again and capture the debug output when you switch the resolution. Also, try switching the resolution several times as that may produce more debug output.

pfps commented 11 months ago

Your config.yaml file is very big, with lots of devices. Do you have (or had) lots of devices? There are multiple messages for a K810, which appears to be a bug so I've opened #2202 for that.

Jerther commented 11 months ago

The output of solaar -ddd I provided was with a toggle of the 'lock' button. Here's another output but with multiple toggles:

``` 2023-12-13 12:37:56,964,964 DEBUG [MainThread] solaar.ui.icons: battery icon for 70:False = battery-good 2023-12-13 12:37:56,966,966 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: cached value False on 2023-12-13 12:37:58,563,563 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:37:58,563,563 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:37:58,563,563 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:37:58,564,564 DEBUG [AsyncUI] logitech_receiver.base: (23) <= w[11 01 000F 21200000000000000000000000000000] 2023-12-13 12:37:58,578,578 DEBUG [ReceiverListener:hidraw0] logitech_receiver.base: (20) => r[11 01 000F 00000000000000000000000000000000] 2023-12-13 12:37:58,578,578 DEBUG [AsyncUI] logitech_receiver.base: (23) => r[11 01 000F 00000000000000000000000000000000] 2023-12-13 12:37:59,028,028 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:37:59,028,028 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:37:59,028,028 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:37:59,339,339 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:37:59,339,339 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:37:59,340,340 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:37:59,641,641 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:37:59,641,641 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:37:59,641,641 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:37:59,946,946 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:37:59,946,946 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:37:59,946,946 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:38:00,262,262 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:38:00,262,262 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:38:00,262,262 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:38:00,557,557 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:38:00,557,557 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:38:00,557,557 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' 2023-12-13 12:38:00,866,866 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 12:38:00,866,866 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 12:38:00,866,866 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' ```
pfps commented 11 months ago

Something weird is definitely going on here. Is that first toggle (of the resolution, not the "lock", I assume) when you see the error?

Jerther commented 11 months ago

Yes, before the first toggle, there is no error:

image

The toggle switch is disabled now for some reason so I can't use it. I remember it wasn't before. It must have gotten disabled when I fiddled with the lock button next to it. anyways, as soon as I hut the lock button, the exclamation mark appears:

image

And the lock button cycles through only "lock" and "ignore".

pfps commented 11 months ago

The odd thing is that the M325 doesn't have a feature that supports high resolution as far as I can tell. I suspect that your config.yaml file has some incorrect information. Please stop Solaar, remove that file (which will remove any current settings for your devices), and try Solaar again.

Jerther commented 11 months ago

I have stopped Solaar, removed the config file, started Solaar again. The toggle switch is visible, and enabled:

image

If I toggle the switch, the same error occurs (no change).

image

Here's the output of -ddd:

``` 2023-12-13 14:26:02,719,719 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: cached value True on 2023-12-13 14:26:08,917,917 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: write False to 2023-12-13 14:26:08,918,918 DEBUG [AsyncUI] logitech_receiver.settings: BooleanValidator: prepare_write(False, None) => b'\x00' 2023-12-13 14:26:08,918,918 DEBUG [AsyncUI] logitech_receiver.settings: hi-res-scroll: prepare write(False) => b'\x00' ```

Anyways, if the M325 does not support hi res scrolling, then I guess it's just a display problem and nothing in Solaar will fix my real underlying problem: the scrolling is way too fast ;)

pfps commented 11 months ago

Strange. Please try that again and then quit out of Solaar. Post the entire output of solaar -ddd and the contents of your config.yaml file.

Jerther commented 11 months ago

solaar -ddd > stdout.txt 2> stderr.txt stderr.txt stdout.txt config.zip (sorry I had to zip the yaml file. Github doesn't like yaml files...)

pfps commented 11 months ago

Your problem occurs because Solaar has an incorrect feature for the M325.

A line in lib/logitech_receiver/descriptors.py should read

_D('Wireless Mouse M325', codename='M325', protocol=2.0, wpid='400A')

but instead it lists a setting the M325 does not have.

You can make this change yourself if you can access the Solaar code. I'll put in a PR as well.

pfps commented 11 months ago

To run Solaar with the patch, kill any running Solaar, clone Solaar, and run bin/solaar

To clone and use Solar from its GitHub repository

git clone https://github.com/pwr-Solaar/Solaar.git
cd Solaar

Run Solaar as bin/solaar from this directory.

To run PR #2203, first clone Solaar if you have not already done so and cd to the clone directory. The first time you download the pull request, fetch it into a new branch and checkout that branch, as in:

git fetch origin pull/2203/head:pull_2203
git checkout pull_2203

To download a new version of the pull request, fetch it and then set your pull branch to the new fetch, as in:

git checkout pull_2203
git fetch origin pull/2203/head
git reset --hard FETCH_HEAD
Jerther commented 11 months ago

I ran Solaar with the PR. Here's a screenshot. No more confusion.

image

:thumbsup:

pfps commented 11 months ago

Excellent.

I think that the reason scrolling is fast on this mouse is that it has 36 scroll "events" per turn of the scroll wheel. Many other Logitech mice with this feature have 24 or 18.

Jerther commented 11 months ago

I just tested an M185 and it too scrolls way too fast. In a Chrome debug console viewing source files, one tick of the scroll wheel scrolls 10 lines of code.

I went ahead and tested a Lenovo USB mouse and a Kensington USB mouse and they all scroll 10 lines, so, I think it's an OS issue.

pfps commented 11 months ago

That may be. There is an attempt to do smooth scrolling in Linux for mice that support it. Some Logitech mice do - those with HIRES WHEEL - use solaar show to ckeck. This sometimes goes wrong, particularly if Solaar is running and not ignoring the scrolling speed setting.

pfps commented 11 months ago

Can you take a look at my question in #2202?