readme updates
This commit is contained in:
parent
1b6e6692c0
commit
5a99e55309
95
README
95
README
|
|
@ -1,60 +1,83 @@
|
||||||
Solaar
|
**Solaar** is a Linux device manager for Logitech's
|
||||||
------
|
[Unifying Receiver](http://www.logitech.com/en-us/66/6079) peripherals.
|
||||||
|
|
||||||
|
It comes in two flavours, command-line and GUI. Both are able to list the
|
||||||
This application connects to a Logitech Unifying Receiver
|
devices paired to a Unifying Receiver, show detailed info for each device, and
|
||||||
(http://www.logitech.com/en-us/66/6079) and listens for events from devices
|
also pair/unpair supported devices with the receiver.
|
||||||
attached to it.
|
|
||||||
|
|
||||||
Currently the K750 solar keyboard is also queried for its solar charge status.
|
|
||||||
Support for other devices could be added in the future, but the K750 keyboard is
|
|
||||||
the only device I have and can test on.
|
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
- Python (2.7 or 3.2). Either version should work well.
|
You should have a reasonably new kernel (3.2+), with the `logitech-djreceiver`
|
||||||
- Gtk 3; Gtk 2 should partially work with some problems.
|
driver enabled and loaded; also, the `udev` package must be installed and the
|
||||||
- Python GI (GObject Introspection), for Gtk bindings.
|
daemon running. If you have a modern Linux distribution (2011+), you're most
|
||||||
- pyudev for enumerating udev devices.
|
likely good to go.
|
||||||
- Optional libnotify GI bindings, for desktop notifications.
|
|
||||||
|
|
||||||
The necessary packages for Debian/Ubuntu are `python-pyudev`/`python3-pyudev`,
|
The command-line application (`bin/solaar-cli`) requires Python 2.7.3 or 3.2+
|
||||||
`python-gi`/`python3-gi`, `gir1.2-gtk-3.0`, and optionally `gir1.2-notify-0.7`.
|
(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
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Normally USB devices are not accessible for r/w by regular users, so you will
|
Normally USB devices are not accessible for r/w by regular users, so you will
|
||||||
need to install a udev rule to allow access to the Logitech Unifying Receiver.
|
need to do a one-time udev rule installation to allow access to the Logitech
|
||||||
|
Unifying Receiver.
|
||||||
|
|
||||||
In rules.d/ you'll find a udev rule file, to be copied in /etc/udev/rules.d/ (as
|
In the `rules.d/` folder of Solaar you'll find a udev rule file, to be copied in
|
||||||
root).
|
`/etc/udev/rules.d/` (as the root user).
|
||||||
|
|
||||||
In its current form it makes the UR device available for r/w by all users
|
In its current form it makes the Unifying Receiver device available for r/w by
|
||||||
belonging to the 'plugdev' system group (standard Debian/Ubuntu group for
|
all users belonging to the `plugdev` system group (standard Debian/Ubuntu group
|
||||||
pluggable devices). It may need changes, specific to your particular system's
|
for pluggable devices). It may need changes, specific to your particular
|
||||||
configuration.
|
system's configuration.
|
||||||
|
|
||||||
If in doubt, replacing GROUP="plugdev" with GROUP="<your username>" should just
|
If in doubt, replacing `GROUP="plugdev"` with `GROUP="<your username>"` should just
|
||||||
work.
|
work.
|
||||||
|
|
||||||
After you copy the file to /etc/udev/rules.d (and possibly modify it for your
|
After you copy the file to `/etc/udev/rules.d` (and possibly modify it for your
|
||||||
system), run 'udevadm control --reload-rules' as root for it to apply. Then
|
system), run `udevadm control --reload-rules` as root for it to apply. Then
|
||||||
physically remove the Unifying Receiver, wait 30 seconds and re-insert it.
|
physically remove the Unifying Receiver, wait 10 seconds and re-insert it.
|
||||||
|
|
||||||
|
|
||||||
|
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. Changing various settings
|
||||||
|
of the devices (like mouse DPI) is currently not supported, but implementation
|
||||||
|
is planned.
|
||||||
|
|
||||||
|
The [K750 Solar Keyboard](http://www.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, similar to Logitech's Solar app for Windows.
|
||||||
|
|
||||||
|
Extended support for other devices will be added in the future, depending on the
|
||||||
|
documentation available, but the K750 keyboard is the only device I have and can
|
||||||
|
test on right now.
|
||||||
|
|
||||||
|
|
||||||
Thanks
|
Thanks
|
||||||
------
|
------
|
||||||
|
|
||||||
This project began as a third-hand clone of Noah K. Tilton's logitech-solar-k750
|
This project began as a third-hand clone of [Noah K. Tilton](https://github.com/noah)'s
|
||||||
project on GitHub (no longer available). It was developed further thanks to the
|
logitech-solar-k750 project on GitHub (no longer available). It was developed
|
||||||
diggings in Logitech's HID protocol done, among others, by Julien Danjou
|
further thanks to the diggings in Logitech's HID++ protocol done by many other
|
||||||
(http://julien.danjou.info/blog/2012/logitech-k750-linux-support) and
|
people:
|
||||||
Lars-Dominik Braun (http://6xq.net/git/lars/lshidpp.git).
|
|
||||||
|
|
||||||
|
- [Julien Danjou](http://julien.danjou.info/blog/2012/logitech-k750-linux-support),
|
||||||
Cheers,
|
who also provided some internal
|
||||||
-pwr
|
[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)
|
||||||
|
|
|
||||||
|
|
@ -348,7 +348,7 @@ def _update_device_box(frame, dev):
|
||||||
|
|
||||||
def update(window, receiver, device=None):
|
def update(window, receiver, device=None):
|
||||||
assert receiver is not None
|
assert receiver is not None
|
||||||
# print ("update", receiver, receiver.status, device, None if device is None else device.number)
|
# print ("update %s %s, %s" % (receiver, receiver.status, device))
|
||||||
window.set_icon_name(ui.appicon(receiver.status))
|
window.set_icon_name(ui.appicon(receiver.status))
|
||||||
|
|
||||||
vbox = window._vbox
|
vbox = window._vbox
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,11 @@ PAIRING_ERRORS = _NamedInts(
|
||||||
too_many_devices=0x03,
|
too_many_devices=0x03,
|
||||||
sequence_timeout=0x06)
|
sequence_timeout=0x06)
|
||||||
|
|
||||||
|
REGISTERS = _NamedInts(
|
||||||
|
battery=0x0D,
|
||||||
|
dpi=0x63,
|
||||||
|
leds=0x51)
|
||||||
|
|
||||||
#
|
#
|
||||||
# functions
|
# functions
|
||||||
#
|
#
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue