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
  • #2012
Closed
Open
Issue created Mar 06, 2023 by Administrator@rootContributor

Swap left/right buttons for Logitech Lift for lefthanders

Created by: vit-zikmund

Information

  • Solaar version (solaar --version and git describe --tags): 1.1.8
  • Distribution: Fedora 37
  • Kernel version (ex. uname -srmo): Linux 6.1.12-200.fc37.x86_64 x86_64 GNU/Linux
  • Output of solaar show for the target device (if applicable):
solaar version 1.1.8

Bolt Receiver
  Device path  : /dev/hidraw8
  USB id       : 046d:C548
  Serial       : 43354436444337443641453341363735
  Has 1 paired device(s) out of a maximum of 6.
  Notifications: wireless, software present (0x000900)
  Device activity counters: 2=24

  2: LIFT For Business
     Device path  : None
     WPID         : B033
     Codename     : LIFT B
     Kind         : mouse
     Protocol     : HID++ 4.5
     Serial number: A67F904D
     Model ID:      B03300000000
     Unit ID:       A67F904D
        Bootloader: BL1 56.01.B0010
          Firmware: RBM 21.01.B0010
             Other: 
     The power switch is located on the (unknown).
     Supports 32 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V4     
            Firmware: Bootloader BL1 56.01.B0010 B033B0706FCD
            Firmware: Firmware RBM 21.01.B0010 B033B0706FCD
            Firmware: Other   
            Unit ID: A67F904D  Model ID: B03300000000  Transport IDs: {'btleid': 'B033'}
         3: DEVICE NAME            {0005} V0     
            Name: LIFT For Business
            Kind: mouse
         4: WIRELESS DEVICE STATUS {1D4B} V0     
         5: CONFIG CHANGE          {0020} V0     
         6: CRYPTO ID              {0021} V1     
         7: DEVICE FRIENDLY NAME   {0007} V0     
            Friendly Name: LIFT B
         8: UNIFIED BATTERY        {1004} V3     
            Battery: 100%, discharging.
         9: REPROG CONTROLS V4     {1B04} V5     
            Key/Button Actions (saved): {Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, DPI Switch:DPI Switch}
            Key/Button Actions        : {Middle Button:Mouse Middle Button, Back Button:Mouse Back Button, Forward Button:Mouse Forward Button, DPI Switch:DPI Switch}
            Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, DPI Switch:Regular}
            Key/Button Diversion        : {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, DPI Switch:Regular}
        10: CHANGE HOST            {1814} V1     
            Change Host        : 1:feathora
        11: HOSTS INFO             {1815} V2     
            Host 0 (paired): feathora
            Host 1 (unpaired): 
            Host 2 (unpaired): 
        12: XY STATS               {2250} V1     
        13: LOWRES WHEEL           {2130} V0     
            Wheel Reports: HID
            Scroll Wheel Diversion (saved): False
            Scroll Wheel Diversion        : False
        14: ADJUSTABLE DPI         {2201} V2     
            Sensitivity (DPI) (saved): 1600
            Sensitivity (DPI)        : 1600
        15: DFUCONTROL             {00C3} V0     
        16: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
        17: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
        18: CONFIG DEVICE PROPS    {1806} V8    internal, hidden, unknown:000010 
        19: unknown:1816           {1816} V0    internal, hidden, unknown:000010 
        20: OOBSTATE               {1805} V0    internal, hidden 
        21: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
        22: unknown:1891           {1891} V7    internal, hidden, unknown:000008 
        23: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
        24: unknown:1E00           {1E00} V0    hidden 
        25: unknown:1E02           {1E02} V0    internal, hidden 
        26: unknown:1E22           {1E22} V1    internal, hidden, unknown:000010 
        27: unknown:1602           {1602} V0     
        28: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
        29: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
        30: unknown:18B1           {18B1} V0    internal, hidden, unknown:000010 
        31: unknown:920A           {920A} V0    internal, hidden, unknown:000010 
     Has 7 reprogrammable keys:
         0: Left Button               , default: Left Click                  => Left Click                
             mse, analytics key events, pos:0, group:1, group mask:empty
             reporting: default
         1: Right Button              , default: Right Click                 => Right Click               
             mse, analytics key events, pos:0, group:1, group mask:empty
             reporting: default
         2: Middle Button             , default: Mouse Middle Button         => Mouse Middle Button       
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:3, group mask:g1,g2,g3
             reporting: default
         3: Back Button               , default: Mouse Back Button           => Mouse Back Button         
             mse, reprogrammable, divertable, raw XY, analytics key events, unknown:000800, pos:0, group:2, group mask:g1,g2
             reporting: default
         4: Forward Button            , default: Mouse Forward Button        => Mouse Forward Button      
             mse, reprogrammable, divertable, raw XY, analytics key events, unknown:000800, pos:0, group:2, group mask:g1,g2
             reporting: default
         5: DPI Switch                , default: DPI Switch                  => DPI Switch                
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:3, group mask:g1,g2,g3
             reporting: default
         6: Virtual Gesture Button    , default: Virtual Gesture Button      => Virtual Gesture Button    
             divertable, virtual, raw XY, force raw XY, pos:0, group:4, group mask:empty
             reporting: default
     Battery: 100%, discharging.

Is your feature request related to a problem? Please describe. The ergonomic Logitech Lift mouse, comes with a "little surprise" for lefthanders - it has factory-swapped left and right button. I.e. it does a left (primary) click when you click the right button. As all the other sensible devices click left with the left button, this creates a lot of schism at your desk, because usually there's only a single global setting to flip the buttons. By using it, you make the sick mouse act normal, while all the other devices (like touchapad) get swapped. The vendor hasn't been able to explain whether this behavior is a deliberate choice or just a tremendous mess, all one reads is their support giving false advice (see their community forum).

Describe the solution you'd like A rule or option to be applicable to this specific mouse, which would swap the buttons back to where they should be (so one could use the global OS setting consistently).

Describe alternatives you've considered I've tried to provide global systemd hwdb overrides, which work, but not universally, but it seems one can only target the bluetooth-connected mouse or the wireless receiver with these rules (and in case of the receiver it cases trouble for mice that don't need fixing). In the receiver case, it can match virtually any logitech device that pairs with it, so that's not the right way and I didn't find any way how to use udev to identify a particular wireless mouse. Solaar on the other way seem to be able to identify the mouse alright, so it could be the right tool for the job.

Additional context Disclaimer: I've never worked with Solaar and got to know it only after I bought that damned mouse 😄, it seems there's quite some possibilities that this could be configured with what one has today, but the "rule builder" was a little too heavy on the guessing part, so that's why I haven't proceeded with it further.

Assignee
Assign to
Time tracking