The best thing about the multi-protocol connectivity is that it's not an either/or mode switch, the three available connections can be any combination of Bluetooth and Unifying. That's really nice flexibility.
To establish a connection, simply click the Easy-switch Toggle button (adjacent to the numbers) until the connection number you want is lit, and then press and hold the button for more than 3 seconds (until the number starts to blink rapidly).
Once you have set up connections, stepping through them using the Toggle button is smooth and easy. The mouse doesn't seem to spend much time synchronizing each time it switches. If you switch to a channel which has a connection configured but the receiving device is not present, the number on the mouse will blink slowly for a few seconds.
Here's a good example of what I mean by that. I have the M720 paired with the Unifying receiver on channel 1, and also paired with the same system via Bluetooth on channel 2. I can set the mouse to channel 1 and use it normally, then press the Toggle button and change to channel 2, and continue using the mouse normally. It seems like there is a very small delay, less than one second, while the protocol changes and then everything works completely normally again.
I have tested this mouse with several different notebooks and netbooks, and a number of different Linux distributions, using both Bluetooth and Unifying connections. All of them paired with no problem and worked perfectly except the Raspberry Pi, which gave me this rather interesting message when I paired it via Bluetooth:
Paired successfully, but this device has no services which can be used with Raspberry Pi
I tried this with the Pi 3 built-in Bluetooth, and the Pi 2 with two different Bluetooth USB dongles. All of these systems work just fine with my other Bluetooth mice. I suspect that this problem is somehow related to the Raspbian updates made last year, when they rewrote the Bluetooth UI.
When I used the Unifying receiver to connect with the Raspberry Pi, the mouse worked normally.
The M720 has a LOT of buttons (at least 9, maybe 10 or even 11 depending on how you count them). The following table describes the buttons and the button-codes they send to Linux.
Middle (Press scroll wheel)
Roll wheel down
Roll wheel up
Tillt wheel left
Tilt wheel right
In addition to these, there is a button lurking under the surface in the thumb area, below the Forward/Back buttons. It is not marked or identified on the surface of the mouse in any way, and I can't find any mention of it in the (very sparse) documentation included with the mouse or on the Logitech support web site. According to xev it doesn't send a mouse button code, it sends some kind of key press events. I am completely baffled by this, so if anyone knows anything else about it, feel free to enlighten me.
Finally, there is a button on the top/center which switches the scroll wheel between click-step and free-spin mode. This is a purely mechanical switch, it does not send any code to the computer when it is pressed.
That pretty well covers the basics and special features of the M720 Triathlon mouse. But this is the 'Jamie's Mostly Linux Stuff' blog, so we still need to look at one Linux-specific issue: the Logitech Unifying receiver.
In case you aren't familiar with it, or what it can do, the Unifying receiver looks like an ordinary USB wireless dongle, but it can connect with up to six devices simultaneously.
Of course, to do this trick it needs a bit of software support. When the mouse (or other Unifying device) is brand new out of the box, both it and the receiver are ready to pair, so the first time you use it they connect and you are able to work. In fact, I had assume that they came already paired until I got this mouse and noticed the channel led blinking in pairing mode until I plugged in the Unifying receiver.
Once the first device is paired, if you want to do anything else you have to have a software package to manage the Unifying receiver. Logitech provides their options utility for this on Windows and Mac, but nothing for Linux. Fortunately (or rather, as usual...) some industrious Linux users have created the solaar utility to provide this capability.
The solaar package is available in the repositories of most Linux distributions; I have installed it for testing with this mouse on openSUSE Tumbleweed, Fedora, Debian (testing), Ubuntu, Linux Mint, PCLinuxOS and openSUSE Leap. The package includes both GUI and CLI versions. The solaar GUI, shown here, displays the status of the receiver itself, and of each device connected to it.
There is a Pair button on the receiver screen, so you add more Unifying devices, and an Unpair button on the screen for each currently paired device. There is also a Details button on every screen, which will show you the gory bits, such as serial number, firmware version and such.
The solaar CLI utility has options for 'show', 'pair', and 'unpair' so you can perform all of the normal controls and checks. The show option produces a lot more detailed information than the GUI shows. There is also a config option, but I haven't been able to puzzle out what it really does, or what it should be used for.
Oh, and it is also worth mentioning that the Logitech options download is 25MB, but the solaar download is 1MB.
So that's it for the M720 Triathlon mouse. In case you haven't figured it out yet, my motivation in buying this mouse, and the K380 Bluetooth keyboard, was to put together two devices which I could use on the Raspberry Pi 3 (and Zero W if I can ever get my hands on one), without using a USB port. This would be particularly good with these multi-connection devices, since I could set up the Pi 3 on channel 1 of both devices, the Zero W on channel 2 and so on.
My solution until now has been a Unifying receiver with a keyboard and mouse paired to it, so when I change to another system I just move that USB dongle... but simply changing the channel on the keyboard and mouse would be even easier.