DPI Sliding disappears on ERGO M575 after switching from Unifying to Bluetooth, back, and restarting Solaar
Created by: plaets
Information
- Solaar version (
solaar --version
orgit describe --tags
if cloned from this repository): 1.1.1-80-gf938d343 - Distribution: Ubuntu 21.10
- Kernel version (ex.
uname -srmo
):Linux 5.13.0-28-generic x86_64 GNU/Linux
- Output of
solaar show
:
Solaar version 1.1.1
Unifying Receiver
Device path : /dev/hidraw1
USB id : 046d:C52B
Serial : ********
Firmware : 24.11.B0036
Bootloader : 02.09
Other : AA.AC
Has 1 paired device(s) out of a maximum of 6.
Notifications: wireless, software present (0x000900)
Device activity counters: 1=96
1: ERGO M575 Trackball
Device path : /dev/hidraw2
WPID : 4096
Codename : ERGO M575
Kind : mouse
Protocol : HID++ 4.5
Polling rate : 8 ms (125Hz)
Serial number: ********
Model ID: B02740960000
Unit ID: ********
Bootloader: BOT 40.00.B0009
Firmware: MPM 26.00.B0009
Other:
The power switch is located on the base.
Supports 26 HID++ 2.0 features:
0: ROOT {0000}
1: FEATURE SET {0001}
2: DEVICE FW VERSION {0003}
Firmware: Bootloader BOT 40.00.B0009 0000ABF1CB8B01
Firmware: Firmware MPM 26.00.B0009 4096ABF1CB8B01
Firmware: Other
Unit ID: ******** Model ID: B02740960000 Transport IDs: {'btleid': 'B027', 'wpid': '4096'}
3: DEVICE NAME {0005}
Name: ERGO M575 Trackball
Kind: trackball
4: WIRELESS DEVICE STATUS {1D4B}
5: RESET {0020}
6: DEVICE FRIENDLY NAME {0007}
Friendly Name: ERGO M575
7: UNIFIED BATTERY {1004}
8: REPROG CONTROLS V4 {1B04}
Key/Button Actions (saved): {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button}
Key/Button Actions : {Left Button:Left Click, Right Button:Right Click, Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button}
9: ADJUSTABLE DPI {2201}
Sensitivity (DPI) (saved): 650
Sensitivity (DPI) : 650
10: XY STATS {2250}
11: DFUCONTROL SIGNED {00C2}
12: DEVICE RESET {1802} internal, hidden
13: unknown:1803 {1803} internal, hidden
14: CONFIG DEVICE PROPS {1806} internal, hidden
15: unknown:1812 {1812} internal, hidden
16: OOBSTATE {1805} internal, hidden
17: unknown:1830 {1830} internal, hidden
18: unknown:1890 {1890} internal, hidden
19: unknown:1891 {1891} internal, hidden
20: unknown:18A1 {18A1} internal, hidden
21: unknown:1E00 {1E00} hidden
22: unknown:1EB0 {1EB0} internal, hidden
23: unknown:1861 {1861} internal, hidden
24: unknown:1E22 {1E22} internal, hidden
25: unknown:1F03 {1F03} internal, hidden
Has 6 reprogrammable keys:
0: Left Button , default: Left Click => Left Click
mse, reprogrammable, analytics key events, pos:0, group:1, group mask:g1
reporting: default
1: Right Button , default: Right Click => Right Click
mse, reprogrammable, analytics key events, pos:0, group:1, group mask:g1
reporting: default
2: Middle Button , default: Mouse Middle Button => Mouse Middle Button
mse, reprogrammable, divertable, persistently divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
reporting: default
3: Forward Button , default: Mouse Forward Button => Mouse Forward Button
mse, reprogrammable, divertable, persistently divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
reporting: diverted, raw XY diverted
4: Back Button , default: Mouse Back Button => Mouse Back Button
mse, reprogrammable, divertable, persistently divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
reporting: default
5: Virtual Gesture Button , default: Virtual Gesture Button => Virtual Gesture Button
divertable, virtual, raw XY, force raw XY, pos:0, group:3, group mask:empty
reporting: default
Battery: 65%, discharging.
Describe the bug
DPI Sliding works normally on M575 back in commit 6d3d3e20. In more recent versions, it seems to be influenced by the absent
key in /home/$USER/.config/solaar/config.json
.
To Reproduce Steps to reproduce the behavior:
- Set the
absent
key in config to an empty list. git checkout 6d3d3e2086305f78994efd1003610e4b420fa9e8
-
python3 setup.py build; ./bin/solaar
With the following settings, pressing the forward button switches between two DPI options. Changing the DPI by slide gesture works too. Switching from bluetooth and back, DPI Sliding still works fine. -
git checkout f938d3430eba086b040d8aa9bb8df7ffde67e408
(or cb14c2ee) - Switch to bluetooth and back, restart Solaar (not necessary if bluetooth was used in step 3)
Now, the DPI Sliding option is not available.
Additional context
Looking at the diff, I noticed, that this could be relevant
print(absent)
prints this:
['hi-res-scroll', 'lowres-smooth-scroll', 'hires-smooth-invert', 'hires-smooth-resolution', 'smart-shift', 'thumb-scroll-mode', 'thumb-scroll-invert', 'report_rate', 'pointer_speed', 'dpi-sliding', 'speed-change', 'mouse-gestures', 'backlight', 'fn-swap', 'disable-keyboard-keys', 'divert-crown', 'crown-smooth', 'divert-gkeys', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-params', 'divert-keys']
I have managed to temporarily fix the problem by manually clearing the absent
and _dpi_sliding
key in /home/$USER/.config/solaar/config.json
. Switching to bluetooth, back to unifying and restarting Solaar reverts the absent
to the values pasted above, with 'dpi-sliding' included.