Closed inzaghi89 closed 1 month ago
For rules to trigger on key presses, the key has to be diverted. You only have two keys diverted so only they will trigger rules.
@pfps yeah I know, because I only want to describe my problem. But just to let you know that I've previously configured it as I want, my current config which doesn't work at all. Doesn't matter which button I click, I've "End" keyboard button action. Even it's button8, button9, or left/right scroll - the action is "end" keyboard key.
Config
- 1.1.13+dfsg-1
- _NAME: Marathon Mouse M705 (M-R0073)
_absent: [hi-res-scroll, lowres-scroll-mode, scroll-ratchet, smart-shift, thumb-scroll-invert, thumb-scroll-mode, onboard_profiles, report_rate, report_rate_extended,
dpi, 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, change-host, gesture2-gestures, gesture2-divert, gesture2-params, sidetone,
equalizer, adc_power_management]
_battery: 4096
_modelId: 406D00000000
_sensitive: {divert-keys: true, hires-scroll-mode: false, hires-smooth-invert: false, hires-smooth-resolution: false, pointer_speed: false, reprogrammable-keys: false}
_serial: D5ACB609
_unitId: CA212E75
_wpid: 406D
divert-keys: {82: 0, 83: 1, 86: 1, 91: 1, 93: 1}
hires-scroll-mode: false
hires-smooth-invert: false
hires-smooth-resolution: true
pointer_speed: 256
reprogrammable-keys: {80: 80, 81: 81, 82: 82, 83: 83, 86: 86, 91: 91, 93: 93}
rules:
%YAML 1.3
---
- MouseClick: [button9, 1]
- KeyPress:
- End
- click
...
---
- MouseClick: [button8, 1]
- KeyPress:
- Home
- click
...
---
- MouseClick: [scroll_left, 1]
- KeyPress:
- Print
- click
...
---
- MouseClick: [scroll_right, 1]
- Set:
- null
- pointer_speed
- 100
...
I've changed rules for buttons:
Kill Solaar, then run as solaar -ddd
, then press the buttons. Solaar will show all the rule processing that is going on. You can post the result here if you need further help.
Yeah I need help because it doesn't work, didn't know why :/
2025-01-29 20:08:32,115,115 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: notification for feature REPROG CONTROLS V4, report 0, data 00000000000000000000000000000000
2025-01-29 20:08:32,116,116 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: diverted controls pressed: 0x0, 0x0, 0x0, 0x0
2025-01-29 20:08:32,116,116 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,07,00,00000000000000000000000000000000)
2025-01-29 20:08:32,116,116 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2025-01-29 20:08:32,116,116 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]]
2025-01-29 20:08:32,116,116 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click]
2025-01-29 20:08:32,116,116 INFO [MainThread] logitech_receiver.diversion: MouseClick action: 1 button9
2025-01-29 20:08:32,117,117 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 1
2025-01-29 20:08:32,117,117 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 0
2025-01-29 20:08:32,127,127 INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['End'] click, group None, modifiers 0
2025-01-29 20:08:32,127,127 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 1
2025-01-29 20:08:32,128,128 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 0
2025-01-29 20:08:33,912,912 DEBUG [SolaarListener:hidraw3] logitech_receiver.base: (17) => r[11 01 0700 005B0000000000000000000000000000]
2025-01-29 20:08:33,912,912 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: notification for feature REPROG CONTROLS V4, report 0, data 005B0000000000000000000000000000
2025-01-29 20:08:33,912,912 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: diverted controls pressed: 0x5b, 0x0, 0x0, 0x0
2025-01-29 20:08:33,912,912 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,07,00,005B0000000000000000000000000000)
2025-01-29 20:08:33,912,912 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2025-01-29 20:08:33,913,913 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]]
2025-01-29 20:08:33,913,913 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click]
2025-01-29 20:08:33,913,913 INFO [MainThread] logitech_receiver.diversion: MouseClick action: 1 button9
2025-01-29 20:08:33,913,913 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 1
2025-01-29 20:08:33,913,913 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 0
2025-01-29 20:08:33,923,923 INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['End'] click, group None, modifiers 0
2025-01-29 20:08:33,924,924 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 1
2025-01-29 20:08:33,924,924 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 0
2025-01-29 20:08:34,105,105 DEBUG [SolaarListener:hidraw3] logitech_receiver.base: (17) => r[11 01 0700 00000000000000000000000000000000]
2025-01-29 20:08:34,106,106 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: notification for feature REPROG CONTROLS V4, report 0, data 00000000000000000000000000000000
2025-01-29 20:08:34,106,106 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: diverted controls pressed: 0x0, 0x0, 0x0, 0x0
2025-01-29 20:08:34,106,106 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,07,00,00000000000000000000000000000000)
2025-01-29 20:08:34,106,106 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2025-01-29 20:08:34,106,106 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]]
2025-01-29 20:08:34,106,106 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click]
2025-01-29 20:08:34,106,106 INFO [MainThread] logitech_receiver.diversion: MouseClick action: 1 button9
2025-01-29 20:08:34,107,107 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 1
2025-01-29 20:08:34,107,107 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 0
2025-01-29 20:08:34,117,117 INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['End'] click, group None, modifiers 0
2025-01-29 20:08:34,117,117 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 1
2025-01-29 20:08:34,118,118 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 0
2025-01-29 20:08:35,968,968 DEBUG [SolaarListener:hidraw3] logitech_receiver.base: (17) => r[11 01 0700 005D0000000000000000000000000000]
2025-01-29 20:08:35,968,968 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: notification for feature REPROG CONTROLS V4, report 0, data 005D0000000000000000000000000000
2025-01-29 20:08:35,968,968 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: diverted controls pressed: 0x5d, 0x0, 0x0, 0x0
2025-01-29 20:08:35,968,968 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,07,00,005D0000000000000000000000000000)
2025-01-29 20:08:35,968,968 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2025-01-29 20:08:35,968,968 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]]
2025-01-29 20:08:35,968,968 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click]
2025-01-29 20:08:35,968,968 INFO [MainThread] logitech_receiver.diversion: MouseClick action: 1 button9
2025-01-29 20:08:35,968,968 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 1
2025-01-29 20:08:35,968,968 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 0
2025-01-29 20:08:35,979,979 INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['End'] click, group None, modifiers 0
2025-01-29 20:08:35,979,979 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 1
2025-01-29 20:08:35,979,979 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 0
2025-01-29 20:08:36,152,152 DEBUG [SolaarListener:hidraw3] logitech_receiver.base: (17) => r[11 01 0700 00000000000000000000000000000000]
2025-01-29 20:08:36,152,152 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: notification for feature REPROG CONTROLS V4, report 0, data 00000000000000000000000000000000
2025-01-29 20:08:36,152,152 DEBUG [SolaarListener:hidraw3] logitech_receiver.notifications: <Device(1,406D,Marathon Mouse M705 (M-R0073),D5ACB609)>: diverted controls pressed: 0x0, 0x0, 0x0, 0x0
2025-01-29 20:08:36,152,152 DEBUG [MainThread] logitech_receiver.diversion: evaluating rules on Notification(11,1,07,00,00000000000000000000000000000000)
2025-01-29 20:08:36,152,152 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]], Rule[Rule[Rule[Key: Brightness Down (pressed), KeyPress: XF86_MonBrightnessDown click], Rule[Key: Brightness Up (pressed), KeyPress: XF86_MonBrightnessUp click]]]]
2025-01-29 20:08:36,153,153 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button8 (1), KeyPress: Home click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_left (1), KeyPress: Print click], Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: scroll_right (1), Set: None pointer_speed 100]]
2025-01-29 20:08:36,153,153 DEBUG [MainThread] logitech_receiver.diversion: evaluate rule: Rule(/home/inzaghi89/.config/solaar/rules.yaml)[MouseClick: button9 (1), KeyPress: End click]
2025-01-29 20:08:36,153,153 INFO [MainThread] logitech_receiver.diversion: MouseClick action: 1 button9
2025-01-29 20:08:36,153,153 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 1
2025-01-29 20:08:36,153,153 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 265 0
2025-01-29 20:08:36,163,163 INFO [MainThread] logitech_receiver.diversion: KeyPress action: ['End'] click, group None, modifiers 0
2025-01-29 20:08:36,164,164 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 1
2025-01-29 20:08:36,164,164 DEBUG [MainThread] logitech_receiver.diversion: uinput simulated input 1 107 0
Each pressed key is different mouse button, but in the log it appears as button9. All on the config pasted in the previous post. I really don't know what doing wrong here.
I'm seeing notifications for keys 0x5b and 0x5d.
Ooh. Your rules have only actions in them. To check for a key or button being pressed you need a Key condition.
I'm sorry but I don't understand how to do that. Can you explain?
Your first rule says to simulate a single mouse click and then simulate a keypress. It instead need to first check that the mouse button was pressed using a Key condition and then simulate a keypress.
Not sure that this is something you're trying to tell me, but with the following rules.conf it still doesn't work as it should
%YAML 1.3
---
- MouseClick: [button9, 1]
- KeyIsDown: '0'
- KeyPress:
- End
- click
...
---
- MouseClick: [button8, 1]
- KeyIsDown: '0'
- KeyPress:
- Home
- click
...
---
- MouseClick: [scroll_left, 1]
- KeyIsDown: '0'
- KeyPress:
- Print
- click
...
---
- MouseClick: [scroll_right, 1]
- KeyIsDown: '0'
- Set:
- null
- pointer_speed
- 100
...
Instead of the MouseClick action, use the Key condition. More information is available in the rules documentation in this repository.
Oh man, thank you! I'm so dumb, that didn't see that info. Now all works well.
If somebody was looking for something like that I paste my rules.yaml
%YAML 1.3
---
- Key: [Back Button, pressed]
- KeyPress:
- End
- click
...
---
- Key: [Forward Button, pressed]
- KeyPress:
- Home
- click
...
---
- Key: [Left Tilt, pressed]
- KeyPress:
- Print
- click
...
---
- Key: [Right Tilt, pressed]
- KeyPress:
- [Control_L, Alt_L, t]
- click
...
Thank you once again @pfps
Hi, at the beginning I want to apologize because I don't know where to paste my question/issue. I'm using Logitech M705 mouse with unify adapter, all works well. Since few weeks ago I've started using Windows for my job, and saw that I can bind buttons to specified action and wanted same for Ubuntu - and I'm here. There is not much examples on config and I'm not able to configure solaar to work as it works on Windows. For 4 buttons I want to create specified action:
And I'm lying and crying on the first two and can't get through...
My config:
My rules:
I'm using solaar 1.1.13, Ubuntu 24.10. I've downloaded file https://raw.githubusercontent.com/pwr-Solaar/Solaar/master/rules.d-uinput/42-logitech-unify-permissions.rules and copied it to /etc/udev/rules.d/ and still not sure that I need install something else because with my half rules configuration only works 'home' key. I'll appreciate for your help.