pwr-Solaar / Solaar

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

Documentation: the app itself (and other documentation?) has nothing on channels; applies (only?) to Logitech #2622

Closed LinuxOnTheDesktop closed 1 week ago

LinuxOnTheDesktop commented 1 week ago

Information

``` solaar version 1.1.11+dfsg-2 Unifying Receiver Device path : /dev/hidraw3 USB id : 046d:C52B Serial : 2C089758 Firmware : 24.11.B0036 Bootloader : 03.09 Other : AA.AD Has 1 paired device(s) out of a maximum of 6. Notifications: wireless (0x000100) Device activity counters: 1=162 1: M720 Triathlon Multi-Device Mouse Device path : /dev/hidraw5 WPID : 405E Codename : M720 Triathlon Kind : mouse Protocol : HID++ 4.5 Report Rate : 8msms Serial number: 3752EF14 Model ID: B015405E0000 Unit ID: C0BD18BC Bootloader: BOT 34.00.B0004 Firmware: MPM 04.02.B0009 Other: The power switch is located on the base. Supports 35 HID++ 2.0 features: 0: ROOT {0000} V0 1: FEATURE SET {0001} V0 2: DEVICE FW VERSION {0003} V2 Firmware: Bootloader BOT 34.00.B0004 00005F8FCBD901 Firmware: Firmware MPM 04.02.B0009 405E5F8FCBD901 Firmware: Other Unit ID: C0BD18BC Model ID: B015405E0000 Transport IDs: {'btleid': 'B015', 'wpid': '405E'} 3: DEVICE NAME {0005} V0 Name: M720 Triathlon Multi-Device Mouse Kind: mouse 4: WIRELESS DEVICE STATUS {1D4B} V0 5: CONFIG CHANGE {0020} V0 6: CRYPTO ID {0021} V0 7: DEVICE FRIENDLY NAME {0007} V0 Friendly Name: M720 Triathlon 8: BATTERY STATUS {1000} V0 Battery: 90%, discharging, next level 50%. 9: CHANGE HOST {1814} V1 Change Host : 1:F13 10: HOSTS INFO {1815} V1 Host 0 (paired): F13 Host 1 (paired): X230 Host 2 (paired): F13 11: REPROG CONTROLS V4 {1B04} V3 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, Left Tilt:Mouse Scroll Left Button , Right Tilt:Mouse Scroll Right Button, MultiPlatform Gesture Button:Multiplatform Gesture 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, Left Tilt:Mouse Scroll Left Button , Right Tilt:Mouse Scroll Right Button, MultiPlatform Gesture Button:Multiplatform Gesture Button} Key/Button Diversion (saved): {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Left Tilt:Regular, Right Tilt:Regular, MultiPlatform Gesture Button:Regular} Key/Button Diversion : {Middle Button:Regular, Back Button:Regular, Forward Button:Regular, Left Tilt:Regular, Right Tilt:Regular, MultiPlatform Gesture Button:Regular} 12: PERSISTENT REMAPPABLE ACTION {1C00} V0 Persistent Key/Button Mapping : {Left Button:Mouse Button Left, Right Button:Mouse Button Right, Middle Button:Mouse Button Middle, Back Button:Mouse Button Back, Forward Button:Mouse Button Forward, Left Tilt:Horizontal Scroll Left, Right Tilt:Horizontal Scroll Right, MultiPlatform Gesture Button:Alt+Cntrl+TAB} 13: POINTER SPEED {2205} V0 Pointer Speed: 1.0 Sensitivity (Pointer Speed) (saved): 256 Sensitivity (Pointer Speed) : 256 14: VERTICAL SCROLLING {2100} V0 Roller type: 3G Ratchet per turn: 24 Scroll lines: 0 15: DFUCONTROL UNSIGNED {00C1} V0 16: DFUCONTROL SIGNED {00C2} V0 17: DEVICE RESET {1802} V0 internal, hidden 18: unknown:1803 {1803} V0 internal, hidden 19: CONFIG DEVICE PROPS {1806} V0 internal, hidden 20: OOBSTATE {1805} V0 internal, hidden 21: unknown:1813 {1813} V0 internal, hidden 22: unknown:1830 {1830} V0 internal, hidden 23: unknown:1861 {1861} V0 internal, hidden 24: unknown:1890 {1890} V0 internal, hidden 25: unknown:1891 {1891} V0 internal, hidden 26: unknown:18A1 {18A1} V0 internal, hidden 27: unknown:1DF3 {1DF3} V0 internal, hidden 28: unknown:1E00 {1E00} V0 hidden 29: unknown:1EB0 {1EB0} V0 internal, hidden 30: unknown:18B1 {18B1} V0 internal, hidden 31: unknown:1850 {1850} V0 internal, hidden 32: unknown:1F03 {1F03} V0 internal, hidden 33: unknown:18C0 {18C0} V0 internal, hidden 34: HIRES WHEEL {2121} V0 Multiplier: 8 Has invert: Normal wheel motion Has ratchet switch: Free wheel mode High resolution mode HID notification Scroll Wheel Direction (saved): False Scroll Wheel Direction : False Scroll Wheel Resolution (saved): True Scroll Wheel Resolution : True Scroll Wheel Diversion (saved): False Scroll Wheel Diversion : False Has 9 reprogrammable keys: 0: Left Button , default: Left Click => Left Click mse, reprogrammable, pos:0, group:1, group mask:g1 reporting: default 1: Right Button , default: Right Click => Right Click mse, reprogrammable, 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, pos:0, group:2, group mask:g1,g2 reporting: default 3: Back Button , default: Mouse Back Button => Mouse Back Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 4: Forward Button , default: Mouse Forward Button => Mouse Forward Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 5: Left Tilt , default: Mouse Scroll Left Button => Mouse Scroll Left Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 6: Right Tilt , default: Mouse Scroll Right Button => Mouse Scroll Right Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 7: MultiPlatform Gesture Button, default: Multiplatform Gesture Button => Multiplatform Gesture Button mse, reprogrammable, divertable, persistently divertable, raw XY, pos:0, group:2, group mask:g1,g2 reporting: default 8: 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 Has 8 persistent remappable keys: 0: Left Button => Mouse Button: Mouse Button Left 1: Right Button => Mouse Button: Mouse Button Right 2: Middle Button => Mouse Button: Mouse Button Middle 3: Back Button => Mouse Button: Mouse Button Back 4: Forward Button => Mouse Button: Mouse Button Forward 5: Left Tilt => Horizontal Scroll: Horizontal Scroll Left 6: Right Tilt => Horizontal Scroll: Horizontal Scroll Right 7: MultiPlatform Gesture Button => Key: Alt+Cntrl+TAB Battery: 90%, discharging, next level 50%. ```
``` - 1.1.11+dfsg-2 - _NAME: M720 Triathlon Multi-Device Mouse _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, speed-change, backlight, backlight_level, backlight_duration_hands_out, backlight_duration_hands_in, backlight_duration_powered, backlight-timed, led_control, led_zone_, fn-swap, 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: 4096 _modelId: B015405E0000 _serial: 3752EF14 _unitId: C0BD18BC _wpid: 405E change-host: null divert-keys: {0x52: 0x0, 0x53: 0x0, 0x56: 0x0, 0x5b: 0x0, 0x5d: 0x0, 0xd0: 0x0} hires-scroll-mode: false hires-smooth-invert: false hires-smooth-resolution: true persistent-remappable-keys: null pointer_speed: 0x100 reprogrammable-keys: {0x50: 0x50, 0x51: 0x51, 0x52: 0x52, 0x53: 0x53, 0x56: 0x56, 0x5b: 0x5b, 0x5d: 0x5d, 0xd0: 0xd0} ```

Describe the bug The on-screen instructions are silent about how to connect a PC (/receiver) to some particular one of the three 'channels' on the (or at least on my 'M720') mouse. It turns out that to pair a receiver with some particular channel one needs: use the bottom-most side-button on the mouse to set the channel one wants, and only then follow start upon the solaar pairing instructions with the instruction to turn off the mouse and turn it back on.

To Reproduce Steps to reproduce the behavior:

  1. Aim to pair Solaar with some particular channel on one's mouse (or, perhaps, on some device other than a mouse).
  2. Find no instructions, at least within Solaar (and certainly not in any readily accessible documentation from Logitech)
  3. Have to guess.
  4. Succeed if you are lucky!
pfps commented 1 week ago

Solaar does not pair with a channel or a device or a receiver. All Solaar does is provide a way to pair devices with receivers. But I agree that there should be something in Solaar about devices that have multiple connections, probably as part of the pairing description in https://pwr-solaar.github.io/Solaar/capabilities/

There is generally Logitech documentation for the process. For example, for the MX Master 3S, it is in https://support.logi.com/hc/en-us/articles/5218056588311-Getting-Started-MX-Master-3S. This guide is, I think, distributed with the mouse.

LinuxOnTheDesktop commented 1 week ago

Solaar does not pair with a channel or a device or a receiver.

Yet, as I wrote, I found a way to do it.

But I agree that there should be something in Solaar about devices that have multiple connections, probably as part of the pairing description in https://pwr-solaar.github.io/Solaar/capabilities/

Perhaps then you should mention my discovery (such as it is) within any documentary text that you do add. Still: as said, relevant instructions within the app would be better, though perhaps that is not feasible.

The Logitech documentation that you cite does not mention Linux nor - though I did not read all of it - does it appear to discuss a mode of pairing, let alone channel selection, that uses solely the buttons on the mouse.

pfps commented 1 week ago

The documentation says that before connecting you have to hold a channel button. Only then does Solaar (or Logitech Options) get involved.

LinuxOnTheDesktop commented 1 week ago

Sorry to go on, but which documentation?

pfps commented 1 week ago

Every Logitech device should have come with a Getting Started guide that discusses pairing (although it might not use that term).

pfps commented 1 week ago

PR #2625 has better pairing messages. It will be merged in shortly.