pwr-Solaar / Solaar

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

[Help] Solaar app and settings - M575 #1557

Closed Antleresm closed 2 years ago

Antleresm commented 2 years ago

I know this is not an issue, I posted on reddit but did not get a reply there. I am hoping a contributor here can help. Thanks in advance.

Information kubuntu LTS 20.04 KDE Plasma: 5.18.5 Frameworks: 5.68.0 Solaar 1.1.2

Logitech M575 trackball and am trying to set a few options for button usage. After trying several configuration apps (piper/libratbag) I found that Solaar looks like the only one that is going to work in my configuration. Generally, everything is working the way I would want except for the 2 extra buttons (browser back/forward) and the scroll wheel speed.


Desired outcome:

# 1: Modify extra buttons (back/forward) to switch among open apps (alt-tab type behavior).

#2 alternative: Modify extra buttons (back/forward) to switch among open tabs within focused application (CTRL-Tab). Mostly firefox/chrome but also maybe Kate and other apps that use tabs.

</details>

**Is your feature request related to a problem? Please describe.**

Help 1: The attached screenshot shows the configuration I see in Solaar now, and does not appear to allow edits to the back/forward buttons.

Help 2: Solaar seems to allow configuration file changes either through the app or directly in me/user/.config/solaar\config.json contents - but I neither understand the GUI screen (screenshot attached) nor could find refereance to achieve above via config file edits.```

#solaar /home/user/.config/solaar\config.json contents  

{
  "4096:3DD7DD35": {
    "_absent": [
      "hi-res-scroll",
      "lowres-smooth-scroll",
      "hires-smooth-invert",
      "hires-smooth-resolution",
      "smart-shift",
      "thumb-scroll-mode",
      "thumb-scroll-invert",
      "onboard_profiles",
      "report_rate",
      "pointer_speed",
      "speed-change",
      "backlight",
      "backlight-timed",
      "fn-swap",
      "persistent-remappable-keys",
      "disable-keyboard-keys",
      "divert-crown",
      "crown-smooth",
      "divert-gkeys",
      "m-key-leds",
      "mr-key-led",
      "multiplatform",
      "change-host",
      "gesture2-gestures",
      "gesture2-divert",
      "gesture2-params"
    ],
    "_modelId": "B02740960000",
    "_name": "ERGO M575 Trackball",
    "_sensitive": {
      "dpi": true,
      "dpi-sliding": false,
      "mouse-gestures": false
    },
    "_serial": "3DD7DD35",
    "_unitId": "3DD7DD35",
    "divert-keys": {
      "82": 0,
      "83": 0,
      "86": 0
    },
    "dpi": 1000,
    "dpi-sliding": 0,
    "mouse-gestures": 0,
    "reprogrammable-keys": {
      "80": 80,
      "81": 81,
      "82": 82,
      "83": 83,
      "86": 86
    }
  },
  "_version": "1.1.2"
}
![Screen_22 04 13 1](https://user-images.githubusercontent.com/90569201/163406280-6d0b89a1-ec74-42c3-99e9-a1b59ee6c928.jpg)
![Screen_22 04 13 2](https://user-images.githubusercontent.com/90569201/163406298-7f486a9c-441a-4686-8f91-0f19f9eb9736.jpg)
pfps commented 2 years ago

The Solaar rule system is still somewhat experimental and is undergoing significant changes. It starts out with several built-in rules that do some useful things. These rules cannot be edited (and the upcoming version of Solaar will have fewer of them). User rules are stored in a rules.yaml file, not in the main config file.

To edit rules you need to click in the user-defined rules area. You can then add and modify rules. You appear to be wanting to add a rule that has a Key condition on Back Button or Forward Button (the names of two buttons on your trackball) and cause your window system to switch between windows, probably using a KeyPress action with Alt_L and Tab keys. You might also want another rule that has a Process condition and does a different KeyPress.

Note that Wayland limits what can be done in Solaar rules. In particular, Solaar rules cannot access the current process in Wayland. Note also that for a button press to trigger a Solaar rule the button (or key) needs to be diverted.

Antleresm commented 2 years ago

Thank you for your reply and assistance.

I understand most of what you said, and yes your interpretation is correct. I am glad you said the rules in Solaar are still in development stage. That screen is confusing at best.

I want to assign either (CTRL-tab) (CTRL-backtab) OR (ALT-Tab) (ALT-backtab) to the forward/back keys on mouse respectively.

The back/forward buttons do work now in browser as back/forward for URL of current page. So, the buttons do work.

Is there a better way to do this? I am willing to alter either solaar config file or mouse config file to achieve this. I just do not know what to change or what the Hex is for the keypress combinations above (I could find that part).

pfps commented 2 years ago

It is probably the case that the scroll wheel speed cannot be adjusted. Please provide the output of solaar show as that will definitely determine whether Solaar can adjust the scroll wheel speed.

Antleresm commented 2 years ago

Thank you. I found an extension in Chrome (Chromium Wheel Scroll Smoother) and played with setting in Firefox so that now I am happy with those for now.

pfps commented 2 years ago

It is easiest to use the GUI rule editor. Go to the user-defined rules and add a new rule there with Key condition and KeyPress action. The Key (Button in this case) name can be found in the Solaar main window by unlocking the Key/Button Diversion setting and looking to see what can be diverted.

Antleresm commented 2 years ago

For Reference by request of pfps. Output of solaar show

``` Solaar version 1.1.2 Unifying Receiver Device path : /dev/hidraw2 USB id : 046d:C52B Serial : FAE7967F Firmware : 12.11.B0032 Bootloader : 04.16 Other : AA.AA Has 1 paired device(s) out of a maximum of 6. Notifications: wireless, software present (0x000900) Device activity counters: 1=79 1: ERGO M575 Trackball Device path : /dev/hidraw3 WPID : 4096 Codename : ERGO M575 Kind : mouse Protocol : HID++ 4.5 Polling rate : 8 ms (125Hz) Serial number: 3DD7DD35 Model ID: B02740960000 Unit ID: 3DD7DD35 Bootloader: BOT 40.00.B0009 Firmware: MPM 26.00.B0009 Other: The power switch is located on the base. Supports 26 HID++ 2.0 features: 0: ROOT {0000} 1: FEATURE SET {0001} 2: DEVICE FW VERSION {0003} Firmware: Bootloader BOT 40.00.B0009 0000ABF1CB8B01 Firmware: Firmware MPM 26.00.B0009 4096ABF1CB8B01 Firmware: Other Unit ID: 3DD7DD35 Model ID: B02740960000 Transport IDs: {'btleid': 'B027', 'wpid': '4096'} 3: DEVICE NAME {0005} Name: ERGO M575 Trackball Kind: trackball 4: WIRELESS DEVICE STATUS {1D4B} 5: RESET {0020} 6: DEVICE FRIENDLY NAME {0007} Friendly Name: ERGO M575 7: UNIFIED BATTERY {1004} 8: REPROG CONTROLS V4 {1B04} DPI Sliding Adjustment (saved): Off DPI Sliding Adjustment : Off Mouse Gestures (saved): Off Mouse Gestures : Off 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} 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} Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Diverted} Key/Button Diversion : {Middle Button:Regular, Back Button:Regular, Forward Button:Diverted} 9: ADJUSTABLE DPI {2201} Sensitivity (DPI) (saved): 1000 Sensitivity (DPI) : 1000 10: XY STATS {2250} 11: DFUCONTROL SIGNED {00C2} 12: DEVICE RESET {1802} internal, hidden 13: unknown:1803 {1803} internal, hidden 14: CONFIG DEVICE PROPS {1806} internal, hidden 15: unknown:1812 {1812} internal, hidden 16: OOBSTATE {1805} internal, hidden 17: unknown:1830 {1830} internal, hidden 18: unknown:1890 {1890} internal, hidden 19: unknown:1891 {1891} internal, hidden 20: unknown:18A1 {18A1} internal, hidden 21: unknown:1E00 {1E00} hidden 22: unknown:1EB0 {1EB0} internal, hidden 23: unknown:1861 {1861} internal, hidden 24: unknown:1E22 {1E22} internal, hidden 25: unknown:1F03 {1F03} internal, hidden Has 6 reprogrammable keys: 0: Left Button , default: Left Click => Left Click mse, reprogrammable, analytics key events, pos:0, group:1, group mask:g1 reporting: default 1: Right Button , default: Right Click => Right Click mse, reprogrammable, 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, persistently divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2 reporting: default 3: Forward Button , default: Mouse Forward Button => Mouse Forward Button mse, reprogrammable, divertable, persistently divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2 reporting: diverted 4: Back Button , default: Mouse Back Button => Mouse Back Button mse, reprogrammable, divertable, persistently divertable, raw XY, analytics key events, pos:0, group:2, group mask:g1,g2 reporting: default 5: 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: 100%, discharging. ```
pfps commented 2 years ago

There does not appear to be any feature that Solaar can use to change the sensitivity of the scroll wheel.