Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with Diverting MX Anywhere 3S #2812

Open
TsukiruP opened this issue Feb 12, 2025 · 4 comments
Open

Issues with Diverting MX Anywhere 3S #2812

TsukiruP opened this issue Feb 12, 2025 · 4 comments
Labels

Comments

@TsukiruP
Copy link

TsukiruP commented Feb 12, 2025

Information

  • Solaar version (solaar --version or git describe --tags if cloned from this repository): 1.1.14
  • Distribution: Kubuntu 24.10
  • Kernel version (ex. uname -srmo): Linux 6.11.0-14-generic x86_64 GNU/Linux
  • Output of solaar show:
MX Anywhere 3S
     Device path  : /dev/hidraw2
     USB id       : 046d:B037
     Codename     : MX Anywhere 3S
     Kind         : mouse
     Protocol     : HID++ 4.5
     Serial number: 
     Model ID:      B03700000000
     Unit ID:       B91ADF56
                 1: BL1 93.00.B0003
                 0: RBM 24.00.B0003
                 3: 
     Supports 36 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V4     
            Firmware: Bootloader BL1 93.00.B0003 B037BDA88FE8
            Firmware: Firmware RBM 24.00.B0003 B037BDA88FE8
            Firmware: Other   
            Unit ID: B91ADF56  Model ID: B03700000000  Transport IDs: {'btleid': 'B037'}
         3: DEVICE NAME            {0005} V0     
            Name: MX Anywhere 3S
            Kind: mouse
         4: WIRELESS DEVICE STATUS {1D4B} V0     
         5: CONFIG CHANGE          {0020} V0     
            Configuration: 11000000000000000000000000000000
         6: CRYPTO ID              {0021} V1     
         7: DEVICE FRIENDLY NAME   {0007} V0     
            Friendly Name: MX Anywhere 3S
         8: unknown:0011           {0011} V0     
         9: UNIFIED BATTERY        {1004} V3     
            Battery: 70%, discharging.
        10: REPROG CONTROLS V4     {1B04} V5     
            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, Smart Shift:Smart Shift}
            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, Smart Shift:Smart Shift}
            Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Diverted, Forward Button:Diverted, Smart Shift:Regular}
            Key/Button Diversion        : {Middle Button:Regular, Back Button:Diverted, Forward Button:Diverted, Smart Shift:Regular}
        11: CHANGE HOST            {1814} V1     
            Change Host        : 1:maddy-hplaptop15dy2xxx
        12: HOSTS INFO             {1815} V2     
            Host 0 (paired): maddy-hplaptop15dy2xxx
            Host 1 (unpaired): 
            Host 2 (unpaired): 
        13: XY STATS               {2250} V1     
        14: ADJUSTABLE DPI         {2201} V2     
            Sensitivity (DPI) (saved): 1000
            Sensitivity (DPI)        : 1000
        15: SMART SHIFT ENHANCED   {2111} V0     
            Scroll Wheel Ratchet Speed (saved): 12
            Scroll Wheel Ratchet Speed        : 12
        16: HIRES WHEEL            {2121} V1     
            Multiplier: 15
            Has invert: Normal wheel motion
            Has ratchet switch: Normal wheel mode
            Low resolution mode
            HID notification
            Scroll Wheel Direction (saved): False
            Scroll Wheel Direction        : False
            Scroll Wheel Resolution (saved): False
            Scroll Wheel Resolution        : False
            Scroll Wheel Diversion (saved): False
            Scroll Wheel Diversion        : False
        17: WHEEL STATS            {2251} V0     
        18: DFUCONTROL             {00C3} V0     
        19: DEVICE RESET           {1802} V0    internal, hidden, unknown:000010 
        20: unknown:1803           {1803} V0    internal, hidden, unknown:000010 
        21: unknown:1807           {1807} V0    internal, hidden, unknown:000010 
        22: unknown:1816           {1816} V0    internal, hidden, unknown:000010 
        23: OOBSTATE               {1805} V0    internal, hidden 
        24: unknown:1830           {1830} V0    internal, hidden, unknown:000010 
        25: unknown:1891           {1891} V7    internal, hidden, unknown:000008 
        26: unknown:18A1           {18A1} V0    internal, hidden, unknown:000010 
        27: unknown:1E00           {1E00} V0    hidden 
        28: unknown:1E02           {1E02} V0    internal, hidden 
        29: unknown:1602           {1602} V0     
        30: unknown:1EB0           {1EB0} V0    internal, hidden, unknown:000010 
        31: unknown:1861           {1861} V1    internal, hidden, unknown:000010 
        32: unknown:9300           {9300} V1    internal, hidden, unknown:000010 
        33: unknown:9001           {9001} V0    internal, hidden, unknown:000010 
        34: unknown:1E22           {1E22} V0    internal, hidden, unknown:000010 
        35: unknown:9205           {9205} 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:g1
             reporting: default
         1: Right Button              , default: Right Click                 => Right Click               
             mse, 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, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             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: diverted
         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: diverted
         5: Smart Shift               , default: Smart Shift                 => Smart Shift               
             mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2
             reporting: default
         6: 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: 70%, discharging.

  • Contents of ~/.config/solaar/config.yaml (or ~/.config/solaar/config.json if ~/.config/solaar/config.yaml not present):
- 1.1.13+dfsg-1
- _NAME: MX Anywhere 3S
  _absent: [hi-res-scroll, lowres-scroll-mode, scroll-ratchet, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, report_rate_extended,
    pointer_speed, dpi_extended, speed-change, backlight, backlight_level, backlight_duration_hands_out, backlight_duration_hands_in, backlight_duration_powered,
    backlight-timed, led_control, led_zone_, rgb_control, rgb_zone_, brightness_control, per-key-lighting, fn-swap, persistent-remappable-keys, disable-keyboard-keys,
    crown-smooth, divert-crown, divert-gkeys, m-key-leds, mr-key-led, multiplatform, gesture2-gestures, gesture2-divert, gesture2-params, sidetone, equalizer,
    adc_power_management]
  _battery: 4100
  _modelId: B03700000000
  _sensitive: {divert-keys: true, hires-scroll-mode: ignore, hires-smooth-invert: ignore, hires-smooth-resolution: ignore}
  _unitId: B91ADF56
  change-host: null
  divert-keys: {82: 0, 83: 1, 86: 1, 196: 0}
  dpi: 1000
  hires-scroll-mode: false
  hires-smooth-invert: false
  hires-smooth-resolution: false
  reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 196: 196}
  smart-shift: 12

  • Errors or warrnings from Solaar:

Image

Describe the bug
I'm trying to reassign my Forward and Back buttons to Copy and Paste respectively. I do have 42-logitech-unify-permissions.rules in rules.d. I set the buttons to diverted and made rules as I've seen online. Forward doesn't seem to copy at all, and while Back does paste, it seems it's still going back a page or something this is my browser's "Paste and Go" hotkey being executed. Which still strange because that's Ctrl + Shift + V. Where is the Shift coming from?

Even worse is that when I try to use Forward, Solaar exits "due to keyboard interrupt" and makes me constantly press Control + C until I reset.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Key/Button Diversion'
  2. Click on 'Forward Button'
  3. Set to Diverted.
  4. Repeat for 'Back Button'
  5. Click on 'Rule Editor'
  6. Insert a new rule with the condition 'Key' for 'Back Button' that presses the keys 'Control_L + V'
  7. Repeat for 'Forward Button' but with 'Control_L + C'
  8. Press Back
  9. See error
  10. Press Forward
  11. See error

ScreenshotsIf applicable, add screenshots to help explain your problem.

Image

Image

@TsukiruP TsukiruP added the bug label Feb 12, 2025
@TsukiruP
Copy link
Author

TsukiruP commented Feb 13, 2025

Closing this not because it's been solved but I changed over to Kubuntu where Solaar just works.

Edit: No it doesn't.

Image

Updating the initial post to the change in distros though.

@TsukiruP TsukiruP closed this as not planned Won't fix, can't repro, duplicate, stale Feb 13, 2025
@TsukiruP TsukiruP reopened this Feb 13, 2025
@pfps
Copy link
Collaborator

pfps commented Feb 14, 2025

Run Solaar as solaar -ddd and post the output when the problem occurs. Do not post a screenshot of the output.

@TsukiruP
Copy link
Author

TsukiruP commented Feb 14, 2025

2025-02-14 17:00:58,849,849     INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['Control_L', 'C'] click, group 0, modifiers 0
2025-02-14 17:00:58,851,851    DEBUG [MainThread] logitech_receiver.diversion: xtest simulated input <Xlib.display.Display object at 0x7f40b56067b0> 2 37
2025-02-14 17:00:58,854,854    DEBUG [MainThread] logitech_receiver.diversion: xtest simulated input <Xlib.display.Display object at 0x7f40b56067b0> 2 50
2025-02-14 17:00:58,855,855    DEBUG [MainThread] logitech_receiver.diversion: xtest simulated input <Xlib.display.Display object at 0x7f40b56067b0> 2 54
2025-02-14 17:00:58,856,856    DEBUG [MainThread] logitech_receiver.diversion: xtest simulated input <Xlib.display.Display object at 0x7f40b56067b0> 3 54
^CThread 0x00007f40a4c006c0 (most recent call first):
  File "/usr/share/solaar/lib/hidapi/udev.py", line 421 in read
  File "/usr/share/solaar/lib/logitech_receiver/base.py", line 293 in _read
  File "/usr/share/solaar/lib/logitech_receiver/base.py", line 264 in read
  File "/usr/share/solaar/lib/logitech_receiver/listener.py", line 142 in run
  File "/usr/lib/python3.12/threading.py", line 1075 in _bootstrap_inner
  File "/usr/lib/python3.12/threading.py", line 1032 in _bootstrap

Thread 0x00007f40af4006c0 (most recent call first):
  File "/usr/lib/python3.12/threading.py", line 355 in wait
  File "/usr/lib/python3.12/queue.py", line 171 in get
  File "/usr/share/solaar/lib/solaar/tasks.py", line 57 in run
  File "/usr/lib/python3.12/threading.py", line 1075 in _bootstrap_inner
  File "/usr/lib/python3.12/threading.py", line 1032 in _bootstrap

Current thread 0x00007f40b928d080 (most recent call first):
  File "/usr/share/solaar/lib/solaar/gtk.py", line 137 in _handlesig
  File "/usr/lib/python3/dist-packages/Xlib/protocol/display.py", line 561 in send_and_recv
  File "/usr/lib/python3/dist-packages/Xlib/protocol/rq.py", line 1380 in reply
  File "/usr/lib/python3/dist-packages/Xlib/protocol/rq.py", line 1368 in __init__
  File "/usr/lib/python3/dist-packages/Xlib/display.py", line 833 in get_pointer_control
  File "/usr/lib/python3/dist-packages/Xlib/display.py", line 182 in sync
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 325 in simulate_xtest
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 349 in simulate_key
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 1189 in mods
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 1205 in keyUp
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 1215 in evaluate
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 513 in evaluate
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 513 in evaluate
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 513 in evaluate
  File "/usr/share/solaar/lib/logitech_receiver/diversion.py", line 1453 in evaluate_rules
  File "/usr/lib/python3/dist-packages/gi/overrides/Gio.py", line 42 in run
  File "/usr/share/solaar/lib/solaar/ui/__init__.py", line 104 in run_loop
  File "/usr/share/solaar/lib/solaar/gtk.py", line 173 in main
  File "/usr/bin/solaar", line 56 in <module>
solaar: exit due to keyboard interrupt


@pfps
Copy link
Collaborator

pfps commented Feb 14, 2025

That looks like -dd instead of -ddd.

In any case, Solaar is simulating input so the fault does not appear to be in Solaar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants