107 lines
4.9 KiB
Markdown
107 lines
4.9 KiB
Markdown
**Solaar** is a Linux device manager for Logitech's
|
|
[Unifying Receiver](http://logitech.com/en-us/66/6079) peripherals. It is able
|
|
to pair/unpair devices to the receiver, and for some devices read battery
|
|
status.
|
|
|
|
It comes in two flavors, command-line and GUI. Both are able to list the
|
|
devices paired to a Unifying Receiver, show detailed info for each device, and
|
|
also pair/unpair supported devices with the receiver.
|
|
|
|
## Supported Devices
|
|
|
|
**Solaar** will detect all devices paired with your Unifying Receiver, and at
|
|
the very least display some basic information about them. Depending on the
|
|
device, it may be able to read its battery status.
|
|
|
|
A few devices also have extended support, mostly because I was able to directly
|
|
test on them:
|
|
|
|
* The [K750 Solar Keyboard](http://logitech.com/keyboards/keyboard/devices/7454)
|
|
is also queried for its solar charge status. Pressing the Solar key on the
|
|
keyboard will pop-up the application window and display the current lighting
|
|
value (Lux) as reported by the keyboard, similar to Logitech's *Solar.app* for
|
|
Windows.
|
|
|
|
Also, you can change the way the function keys (`F1`..`F12`) work, i.e.
|
|
whether holding `FN` while pressing the function keys will generate the
|
|
standard keycodes or the special function (yellow icons) keycodes.
|
|
|
|
* The [M705 Marathon Mouse](http://logitech.com/product/marathon-mouse-m705)
|
|
and [Anywhere MX Mouse](http://logitech.com/product/anywhere-mouse-mx) support
|
|
turning on/off Smooth Scrolling (higher sensitivity on vertical scrolling with
|
|
the wheel).
|
|
|
|
Extended support for other devices may be added in the future, depending on the
|
|
documentation available, but the K750 keyboard and M705 mouse are the only
|
|
devices I have and can test on right now.
|
|
|
|
## Requirements
|
|
|
|
You should have a reasonably new kernel (3.2+), with the `logitech-djreceiver`
|
|
driver enabled and loaded; also, the `udev` package must be installed and the
|
|
daemon running. If you have a modern Linux distribution (2011+), you're most
|
|
likely good to go.
|
|
|
|
The command-line application (`bin/solaar-cli`) requires Python 2.7.3 or 3.2+
|
|
(either version should work), and the `python-pyudev`/`python3-pyudev` package.
|
|
|
|
The GUI application (`bin/solaar`) also requires Gtk3, and its GObject
|
|
Introspection bindings. The Debian/Ubuntu package names are
|
|
`python-gi`/`python3-gi` and `gir1.2-gtk-3.0`; if you're using another
|
|
distribution the required packages are most likely named something similar.
|
|
If the desktop notifications bindings are also installed (`gir1.2-notify-0.7`),
|
|
you will also get desktop notifications when devices come online/go offline.
|
|
|
|
## Installation
|
|
|
|
Normally USB devices are not accessible for r/w by regular users, so you will
|
|
need to do a one-time udev rule installation to allow access to the Logitech
|
|
Unifying Receiver.
|
|
|
|
You can run the `rules.d/install.sh` script from Solaar to do this installation
|
|
automatically (it will switch to root when necessary), or you can do all the
|
|
required steps by hand, as the root user:
|
|
|
|
1. copy `rules.d/99-logitech-unfiying-receiver.rules` from Solaar to
|
|
`/etc/udev/rules.d/`
|
|
|
|
By default, the rule makes the Unifying Receiver device available for r/w by
|
|
all users belonging to the `plugdev` system group (standard Debian/Ubuntu
|
|
group for pluggable devices). It may need changes, specific to your
|
|
particular system's configuration. If in doubt, replacing `GROUP="plugdev"`
|
|
with `GROUP="<your username>"` should just work.
|
|
|
|
2. run `udevadm control --reload-rules` to let the udev daemon know about the
|
|
new rule
|
|
|
|
3. physically remove the Unifying Receiver, wait 10 seconds and re-insert it
|
|
|
|
## Known Issues
|
|
|
|
- Ubuntu's Unity indicators are not supported at this time. However, if you
|
|
whitelist 'Solaar' in the systray, you will get an icon (see
|
|
[How do I access and enable more icons to be in the system tray?](http://askubuntu.com/questions/30742/how-do-i-access-and-enable-more-icons-to-be-in-the-system-tray)
|
|
)
|
|
|
|
- Running the command-line application (`bin/solaar-cli`) while the GUI
|
|
application is also running *may* occasionally cause either of them to become
|
|
confused about the state of the devices. I haven't encountered this often
|
|
enough to be able to be able to diagnose it properly yet.
|
|
|
|
## Thanks
|
|
|
|
This project began as a third-hand clone of [Noah K. Tilton](https://github.com/noah)'s
|
|
logitech-solar-k750 project on GitHub (no longer available). It was developed
|
|
further thanks to the diggings in Logitech's HID++ protocol done by many other
|
|
people:
|
|
|
|
- [Julien Danjou](http://julien.danjou.info/blog/2012/logitech-k750-linux-support),
|
|
who also provided some internal
|
|
[Logitech documentation](http://julien.danjou.info/blog/2012/logitech-unifying-upower)
|
|
- [Lars-Dominik Braun](http://6xq.net/git/lars/lshidpp.git)
|
|
- [Alexander Hofbauer](http://derhofbauer.at/blog/blog/2012/08/28/logitech-performance-mx)
|
|
- [Clach04](http://bitbucket.org/clach04/logitech-unifying-receiver-tools)
|
|
|
|
Also thanks to Douglas Wagner and Julien Gascard for helping with application
|
|
testing and supporting new devices.
|