Open wld0102 opened 13 hours ago
Much more information is needed. Fill out all the information requested in a bug report. Also provide the output of solaar -ddd
around the time that you try to trigger the rule.
Solaar version: 1.1.13 Distribution: Arch Linux Kernel: 6.11.6 x86_64 DE: KDE/Xorg Device: Logi MX Master 3S
solaar show:
Bolt Receiver
Device path : /dev/hidraw2
USB id : 046d:C548
Serial : 33413946343641363946324642303733
Has 1 paired device(s) out of a maximum of 6.
Notifications: wireless, software present (0x000900)
Device activity counters: 1=26
1: MX Master 3S
Device path : None
WPID : B034
Codename : MX Master 3S
Kind : mouse
Protocol : HID++ 4.5
Serial number: 852C0958
Model ID: B03400000000
Unit ID: 852C0958
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: 852C0958 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: 55%, 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:Diverted, Forward Button:Diverted, Mouse Gesture Button:Diverted, Smart Shift:Diverted}
Key/Button Diversion : {Middle Button:Regular, Back Button:Diverted, Forward Button:Diverted, Mouse Gesture Button:Diverted, Smart Shift:Diverted}
10: CHANGE HOST {1814} V1
Change Host : 1:hp
11: HOSTS INFO {1815} V2
Host 0 (paired): hp
Host 1 (unpaired):
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): 7
Scroll Wheel Ratchet Speed : 7
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): False
Thumb Wheel Direction : False
Thumb Wheel Diversion (saved): True
Thumb Wheel Diversion : True
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: diverted
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: diverted
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
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
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: 55%, discharging.
config.yaml
- 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
_modelId: B03400000000
_sensitive: {divert-keys: true, hires-smooth-resolution: false, reprogrammable-keys: false, smart-shift: false, thumb-scroll-mode: true}
_serial: 852C0958
_unitId: 852C0958
_wpid: B034
change-host: null
divert-keys: {82: 0, 83: 1, 86: 1, 195: 1, 196: 1}
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: 7
thumb-scroll-invert: false
thumb-scroll-mode: true
rules.yaml
%YAML 1.3
---
- Key: [Smart Shift, pressed]
- Modifiers: Control
- Execute: [xdotool, type, text]
...
solaar -ddd
2024-11-26 01:01:07,360,360 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (15) => r[11 01 0900 00C40000000000000000000000000000]
2024-11-26 01:01:07,361,361 DEBUG [SolaarListener:hidraw2] logitech_receiver.notifications: <Device(1,B034,MX Master 3S,852C0958)>: notification for feature REPROG CONTROLS V4, report 0, data 00C40000000000000000000000000000
2024-11-26 01:01:07,361,361 DEBUG [SolaarListener:hidraw2] logitech_receiver.notifications: <Device(1,B034,MX Master 3S,852C0958)>: diverted controls pressed: 0xc4, 0x0, 0x0, 0x0
2024-11-26 01:01:07,361,361 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,09,00,00C40000000000000000000000000000)
2024-11-26 01:01:07,361,361 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/user/.config/solaar/rules.yaml)[Rule(/home/user/.config/solaar/rules.yaml)[Key: Smart Shift (pressed), Modifiers: 4, Execute: xdotool type text]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-11-26 01:01:07,361,361 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/user/.config/solaar/rules.yaml)[Rule(/home/user/.config/solaar/rules.yaml)[Key: Smart Shift (pressed), Modifiers: 4, Execute: xdotool type text]]
2024-11-26 01:01:07,362,362 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/user/.config/solaar/rules.yaml)[Key: Smart Shift (pressed), Modifiers: 4, Execute: xdotool type text]
2024-11-26 01:01:07,362,362 DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Smart Shift (pressed)
2024-11-26 01:01:07,362,362 DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Modifiers: 4
2024-11-26 01:01:07,362,362 INFO [MainThread] logitech_receiver.diversion: Execute action: ['xdotool', 'type', 'text']
2024-11-26 01:01:07,495,495 DEBUG [SolaarListener:hidraw2] logitech_receiver.base: (15) => r[11 01 0900 00000000000000000000000000000000]
2024-11-26 01:01:07,495,495 DEBUG [SolaarListener:hidraw2] logitech_receiver.notifications: <Device(1,B034,MX Master 3S,852C0958)>: notification for feature REPROG CONTROLS V4, report 0, data 00000000000000000000000000000000
2024-11-26 01:01:07,496,496 DEBUG [SolaarListener:hidraw2] logitech_receiver.notifications: <Device(1,B034,MX Master 3S,852C0958)>: diverted controls pressed: 0x0, 0x0, 0x0, 0x0
2024-11-26 01:01:07,496,496 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,09,00,00000000000000000000000000000000)
2024-11-26 01:01:07,496,496 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/user/.config/solaar/rules.yaml)[Rule(/home/user/.config/solaar/rules.yaml)[Key: Smart Shift (pressed), Modifiers: 4, Execute: xdotool type text]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2024-11-26 01:01:07,496,496 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/user/.config/solaar/rules.yaml)[Rule(/home/user/.config/solaar/rules.yaml)[Key: Smart Shift (pressed), Modifiers: 4, Execute: xdotool type text]]
2024-11-26 01:01:07,496,496 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/user/.config/solaar/rules.yaml)[Key: Smart Shift (pressed), Modifiers: 4, Execute: xdotool type text]
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Smart Shift (pressed)
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click]
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Down (pressed)
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]
2024-11-26 01:01:07,497,497 DEBUG [MainThread] logitech_receiver.diversion: evaluate condition: Key: Brightness Up (pressed)
If i set a rule with, for example, the smart button to xdotool type, it works fine. But if I add a modifier like Ctrl, xdotool doesn't output nothing. If I set the modifier for shift, xdotool output the text but in capitals.
This looks like a problem with how the Linux input mechanism works. What xdotool does is not send characters to applications but simulates pressing keys. So if the control key is pressed as the time the keys will act like control keys, which may do unusual things or may do nothing. If the shift key is pressed at the time the keys will be shifted.
I wish that xdotool worked differently but that's the way things are.
This rule doesn't work with any modifier set.