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. | ||||
| 
 | ||||
| 
 | ||||
| This application connects to a Logitech Unifying Receiver | ||||
| (http://www.logitech.com/en-us/66/6079) and listens for events from devices | ||||
| 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. | ||||
| It comes in two flavours, 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. | ||||
| 
 | ||||
| 
 | ||||
| Requirements | ||||
| ------------ | ||||
| 
 | ||||
| - Python (2.7 or 3.2). Either version should work well. | ||||
| - Gtk 3; Gtk 2 should partially work with some problems. | ||||
| - Python GI (GObject Introspection), for Gtk bindings. | ||||
| - pyudev for enumerating udev devices. | ||||
| - Optional libnotify GI bindings, for desktop notifications. | ||||
| 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 necessary packages for Debian/Ubuntu are `python-pyudev`/`python3-pyudev`, | ||||
| `python-gi`/`python3-gi`, `gir1.2-gtk-3.0`, and optionally `gir1.2-notify-0.7`. | ||||
| 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 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 | ||||
| root). | ||||
| In the `rules.d/` folder of Solaar you'll find a udev rule file, to be copied in | ||||
| `/etc/udev/rules.d/` (as the root user). | ||||
| 
 | ||||
| In its current form it makes the UR 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. | ||||
| In its current form it 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 | ||||
| If in doubt, replacing `GROUP="plugdev"` with `GROUP="<your username>"` should just | ||||
| work. | ||||
| 
 | ||||
| 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 | ||||
| physically remove the Unifying Receiver, wait 30 seconds and re-insert it. | ||||
| 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 | ||||
| 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 | ||||
| ------ | ||||
| 
 | ||||
| This project began as a third-hand clone of Noah K. Tilton's logitech-solar-k750 | ||||
| project on GitHub (no longer available). It was developed further thanks to the | ||||
| diggings in Logitech's HID protocol done, among others, by Julien Danjou | ||||
| (http://julien.danjou.info/blog/2012/logitech-k750-linux-support) and | ||||
| Lars-Dominik Braun (http://6xq.net/git/lars/lshidpp.git). | ||||
| 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: | ||||
| 
 | ||||
| 
 | ||||
| Cheers, | ||||
| -pwr | ||||
| - [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) | ||||
|  |  | |||
|  | @ -348,7 +348,7 @@ def _update_device_box(frame, dev): | |||
| 
 | ||||
| def update(window, receiver, device=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)) | ||||
| 
 | ||||
| 	vbox = window._vbox | ||||
|  |  | |||
|  | @ -57,6 +57,11 @@ PAIRING_ERRORS = _NamedInts( | |||
| 				too_many_devices=0x03, | ||||
| 				sequence_timeout=0x06) | ||||
| 
 | ||||
| REGISTERS = _NamedInts( | ||||
| 				battery=0x0D, | ||||
| 				dpi=0x63, | ||||
| 				leds=0x51) | ||||
| 
 | ||||
| # | ||||
| # functions | ||||
| # | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue