pwr-Solaar / Solaar

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

MX master 3s gestures not working #2617

Closed Ofirw12 closed 1 month ago

Ofirw12 commented 1 month ago

Information

``` rules cannot access modifier keys in Wayland, accessing process only works on GNOME with Solaar Gnome extension installed cannot create uinput device: "/dev/uinput" cannot be opened for writing solaar version 1.1.13 Bolt Receiver Device path : /dev/hidraw3 USB id : 046d:C548 Serial : 33424238413133383939304437384435 Has 1 paired device(s) out of a maximum of 6. Notifications: wireless (0x000100) Device activity counters: 1=21 1: MX Master 3S Device path : None WPID : B034 Codename : MX Master 3S Kind : mouse Protocol : HID++ 4.5 Serial number: 485C495F Model ID: B03400000000 Unit ID: 485C495F 1: BL1 69.01.B0006 0: RBM 22.01.B0006 3: The power switch is located on the (unknown). Supports 36 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V4 Firmware: Bootloader BL1 69.01.B0006 B034BB5190E8 Firmware: Firmware RBM 22.01.B0006 B034BB5190E8 Firmware: Other Unit ID: 485C495F Model ID: B03400000000 Transport IDs: {'btleid': 'B034'} 3: DEVICE NAME {0005} V0 Name: MX Master 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 Master 3S 8: UNIFIED BATTERY {1004} V3 Battery: 50%, discharging. 9: 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, Mouse Gesture Button:Gesture Button Navigation, 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, Mouse Gesture Button:Gesture Button Navigation, Smart Shift:Smart Shift} Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Mouse Gesture Button:Mouse Gestures, Smart Shift:Sliding DPI} Key/Button Diversion : {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Mouse Gesture Button:Diverted, Smart Shift:Diverted} 10: CHANGE HOST {1814} V1 Change Host : 2:Ofir-Laptop 11: HOSTS INFO {1815} V2 Host 0 (paired): OFIRPC Host 1 (paired): Ofir-Laptop Host 2 (unpaired): 12: XY STATS {2250} V1 13: ADJUSTABLE DPI {2201} V2 Sensitivity (DPI) (saved): 1000 Sensitivity (DPI) : 1000 14: SMART SHIFT {2110} V0 Scroll Wheel Ratcheted (saved): Ratcheted Scroll Wheel Ratcheted : Ratcheted Scroll Wheel Ratchet Speed (saved): 10 Scroll Wheel Ratchet Speed : 10 15: 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 16: THUMB WHEEL {2150} V0 Thumb Wheel Direction (saved): True Thumb Wheel Direction : True Thumb Wheel Diversion (saved): False Thumb 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: CONFIG DEVICE PROPS {1806} V8 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} V0 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 8 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, 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, pos:0, group:2, group mask:g1,g2 reporting: default 5: Mouse Gesture Button , default: Gesture Button Navigation => Gesture Button Navigation mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2 reporting: diverted, raw XY diverted 6: Smart Shift , default: Smart Shift => Smart Shift mse, reprogrammable, divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2 reporting: diverted, raw XY diverted 7: 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: 50%, discharging. ```
``` - 1.1.13 - _NAME: MX Master 3S _absent: [hi-res-scroll, lowres-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 _dpi-sliding: 32 _modelId: B03400000000 _sensitive: {change-host: false, divert-keys: true, dpi: true, dpi-sliding: false, hires-smooth-invert: true, hires-smooth-resolution: false, mouse-gestures: true, reprogrammable-keys: true, scroll-ratchet: true, smart-shift: true, thumb-scroll-invert: false, thumb-scroll-mode: true} _serial: 485C495F _unitId: 485C495F _wpid: B034 change-host: null divert-keys: {82: 0, 83: 0, 86: 0, 195: 2, 196: 3} 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, 195: 195, 196: 196} scroll-ratchet: 2 smart-shift: 10 thumb-scroll-invert: true thumb-scroll-mode: false ```

rules cannot access modifier keys in Wayland, accessing process only works on GNOME with Solaar Gnome extension installed cannot create uinput device: "/dev/uinput" cannot be opened for writing

Describe the bug I've set some gesture rules i found across the web, but any rules using the super key don't work. i'm new to solaar and ubuntu in general, and i'm getting frustrated with my mouse.

These are my rules

%YAML 1.3
---
- Rule:
  - MouseGesture: Mouse Right
  - KeyPress:
    - [Super_L, Page_Down]
    - click
- Rule:
  - MouseGesture: Mouse Left
  - KeyPress:
    - [Super_L, Page_Up]
    - click
- Rule:
  - MouseGesture: Mouse Up
  - KeyPress:
    - [Super_L, a]
    - click
- Rule:
  - MouseGesture: Mouse Down
  - KeyPress:
    - [Super_L, d]
    - click
- Rule:
  - And:
    - Key: [Mouse Gesture Button, released]
    - MouseGesture: []
  - KeyPress:
    - [Super_L, s]
    - click
...
pfps commented 1 month ago

The problem is indidated by the message 'cannot create uinput device: "/dev/uinput" cannot be opened for writing'. You need to install the special Wayland Solaar udev rule that allows Solaar to simulate input. If you run Solaar as solaar -ddd you should see warning messages when Solaar tries to simulate input.

Ofirw12 commented 1 month ago

Well, for some reason i missed that udev rule in the docs... i've made the file and it works like a charm ever since, Thank you!