Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • S Solaar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pwr-Solaar
  • Solaar
  • Issues
  • #1443
Closed
Open
Issue created Feb 07, 2022 by Administrator@rootContributor

DPI Sliding disappears on ERGO M575 after switching from Unifying to Bluetooth, back, and restarting Solaar

Created by: plaets

Information

  • Solaar version (solaar --version or git 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:

  1. Set the absent key in config to an empty list.
  2. git checkout 6d3d3e2086305f78994efd1003610e4b420fa9e8
  3. python3 setup.py build; ./bin/solaar With the following settings, pressing the forward button switches between two DPI options. image Changing the DPI by slide gesture works too. Switching from bluetooth and back, DPI Sliding still works fine.
  4. git checkout f938d3430eba086b040d8aa9bb8df7ffde67e408 (or cb14c2ee)
  5. Switch to bluetooth and back, restart Solaar (not necessary if bluetooth was used in step 3)

image Now, the DPI Sliding option is not available.

Additional context

Looking at the diff, I noticed, that this could be relevant

https://github.com/pwr-Solaar/Solaar/blob/f938d3430eba086b040d8aa9bb8df7ffde67e408/lib/logitech_receiver/settings_templates.py#L1031

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.

Assignee
Assign to
Time tracking