docs: remove logitech files and outdated information; update supported features
This commit is contained in:
parent
e05c1aa90c
commit
24798ee310
|
@ -65,7 +65,8 @@ Solaar uses the HID++ protocol to pair devices to receivers and unpair
|
||||||
devices from receivers. Solaar also uses the HID++ protocol to display
|
devices from receivers. Solaar also uses the HID++ protocol to display
|
||||||
features of receivers and devices. Solaar can modify some of the features
|
features of receivers and devices. Solaar can modify some of the features
|
||||||
of devices. Solaar currently only displays some features and can modify
|
of devices. Solaar currently only displays some features and can modify
|
||||||
even fewer.
|
even fewer. For more information on HID++ features and their support in
|
||||||
|
Solaar see [docs/features.md](https://pwr-solaar.github.io/Solaar/features).
|
||||||
|
|
||||||
Solaar does not do anything beyond using the HID++ protocol to change the
|
Solaar does not do anything beyond using the HID++ protocol to change the
|
||||||
behavior of receivers and devices. In particular, Solaar cannot change how
|
behavior of receivers and devices. In particular, Solaar cannot change how
|
||||||
|
@ -86,6 +87,7 @@ Solaar does keep track of some of the changeable state of a device between
|
||||||
invocations. When Solaar starts it restores on-line devices to their
|
invocations. When Solaar starts it restores on-line devices to their
|
||||||
previously-known state. Also, while running Solaar restores devices to
|
previously-known state. Also, while running Solaar restores devices to
|
||||||
their previously-known state when the device comes on line.
|
their previously-known state when the device comes on line.
|
||||||
|
This information is stored in the file `~/.config/solaar/config.json`.
|
||||||
|
|
||||||
Querying a device for its current state can require quite a few HID++
|
Querying a device for its current state can require quite a few HID++
|
||||||
interactions. These interactions can temporarily slow down the device, so
|
interactions. These interactions can temporarily slow down the device, so
|
||||||
|
|
|
@ -20,15 +20,30 @@ level.
|
||||||
For mice, the DPI column specifies if the mouse's sensitivity is fixed (`-`),
|
For mice, the DPI column specifies if the mouse's sensitivity is fixed (`-`),
|
||||||
can only be read (`R`), or can be read and changed by Solaar (`R/W`).
|
can only be read (`R`), or can be read and changed by Solaar (`R/W`).
|
||||||
|
|
||||||
The reprog(rammable) keys feature is currently not fully supported by Solaar.
|
|
||||||
You are able to read this feature using command-line interface of Solaar,
|
|
||||||
but it is not possible to assign different keys.
|
|
||||||
|
|
||||||
|
|
||||||
If your device works with Solaar, but its supported features are not
|
If your device works with Solaar, but its supported features are not
|
||||||
correctly specified here, please open an issue on the [Solaar github
|
correctly specified here, please open an issue on the [Solaar github
|
||||||
repository][solaar] with the pleasant news.
|
repository][solaar] with the pleasant news.
|
||||||
|
|
||||||
|
### Adding new receivers and devices
|
||||||
|
|
||||||
|
Adding a new receiver requires knowing whether the receiver is a regular
|
||||||
|
Unifying receiver, a nano receiver, or a lightspeed receiver. Add a line to
|
||||||
|
../lib/logitech_receiver/base_usb.py defining the receiver as one of these.
|
||||||
|
If the receiver has an unusual number of pairing slots then this also needs
|
||||||
|
to be specified. Then add the receiver to the tuple of receivers (ALL).
|
||||||
|
|
||||||
|
To let Solaar read and write to the receiver information on it needs to be
|
||||||
|
added to rules.d/42-logitech-unify-permissions.rules. Add a new line to
|
||||||
|
that file with the vendor and product ids, just like the other lines in the
|
||||||
|
file. Then this file has to be copied into /etc/udev/rules.d
|
||||||
|
|
||||||
|
Most new devices do not need to be known to Solaar to work. However, an
|
||||||
|
entry in lib/logitech-receiver/descriptors.py can provide a better name for
|
||||||
|
the device and a feature list can speed up Solaar startup a bit. The
|
||||||
|
arguments to the _D function are the device's long name, its short name
|
||||||
|
(codename), its HID++ protocol version, its wireless product ID (wpid), and
|
||||||
|
a tuple of known feature settings (from lib/logitech/settings_templates.py).
|
||||||
|
|
||||||
|
|
||||||
### Receivers:
|
### Receivers:
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ Feature | ID | Status | Notes
|
||||||
`DEVICE_RESET` | `0x1802` | :x: |
|
`DEVICE_RESET` | `0x1802` | :x: |
|
||||||
`OOBSTATE` | `0x1805` | :x: |
|
`OOBSTATE` | `0x1805` | :x: |
|
||||||
`CONFIG_DEVICE_PROPS` | `0x1806` | :x: |
|
`CONFIG_DEVICE_PROPS` | `0x1806` | :x: |
|
||||||
`CHANGE_HOST` | `0x1814` | :x: |
|
`CHANGE_HOST` | `0x1814` | :x: | :wrench:
|
||||||
`HOSTS_INFO` | `0x1815` | :heavy_plus_sign: | `get_host_names`, partial listing only
|
`HOSTS_INFO` | `0x1815` | :heavy_plus_sign: | `get_host_names`, partial listing only
|
||||||
`BACKLIGHT` | `0x1981` | :x: |
|
`BACKLIGHT` | `0x1981` | :x: |
|
||||||
`BACKLIGHT2` | `0x1982` | :heavy_check_mark: | `_feature_backlight2`
|
`BACKLIGHT2` | `0x1982` | :heavy_check_mark: | `_feature_backlight2`
|
||||||
|
@ -46,7 +46,7 @@ Feature | ID | Status | Notes
|
||||||
`REPROG_CONTROLS_V3` | `0x1B03` | :x: |
|
`REPROG_CONTROLS_V3` | `0x1B03` | :x: |
|
||||||
`REPROG_CONTROLS_V4` | `0x1B04` | :heavy_plus_sign: | `get_keys`, _feature_reprogrammable_keys
|
`REPROG_CONTROLS_V4` | `0x1B04` | :heavy_plus_sign: | `get_keys`, _feature_reprogrammable_keys
|
||||||
`REPORT_HID_USAGE` | `0x1BC0` | :x: |
|
`REPORT_HID_USAGE` | `0x1BC0` | :x: |
|
||||||
`PERSISTENT_REMAPPABLE_ACTION` | `0x1C00` | :x: |
|
`PERSISTENT_REMAPPABLE_ACTION` | `0x1C00` | :x: | :wrench:
|
||||||
`WIRELESS_DEVICE_STATUS` | `0x1D4B` | :x: | status reporting from device
|
`WIRELESS_DEVICE_STATUS` | `0x1D4B` | :x: | status reporting from device
|
||||||
`REMAINING_PAIRING` | `0x1DF0` | :x: |
|
`REMAINING_PAIRING` | `0x1DF0` | :x: |
|
||||||
`FIRMWARE_PROPERTIES` | `0x1F1F` | :x: |
|
`FIRMWARE_PROPERTIES` | `0x1F1F` | :x: |
|
||||||
|
@ -75,8 +75,8 @@ Feature | ID | Status | Notes
|
||||||
`KEYBOARD_LAYOUT` | `0x4520` | :x: | read only
|
`KEYBOARD_LAYOUT` | `0x4520` | :x: | read only
|
||||||
`KEYBOARD_DISABLE_KEYS` | `0x4521` | :heavy_check_mark: | `_feature_disable_keyboard_keys`
|
`KEYBOARD_DISABLE_KEYS` | `0x4521` | :heavy_check_mark: | `_feature_disable_keyboard_keys`
|
||||||
`KEYBOARD_DISABLE_BY_USAGE` | `0x4522` | :x: |
|
`KEYBOARD_DISABLE_BY_USAGE` | `0x4522` | :x: |
|
||||||
`DUALPLATFORM` | `0x4530` | :x: |
|
`DUALPLATFORM` | `0x4530` | :x: | :wrench:
|
||||||
`MULTIPLATFORM` | `0x4531` | :x: |
|
`MULTIPLATFORM` | `0x4531` | :x: | :wrench:
|
||||||
`KEYBOARD_LAYOUT_2` | `0x4540` | :x: | read only
|
`KEYBOARD_LAYOUT_2` | `0x4540` | :x: | read only
|
||||||
`CROWN` | `0x4600` | :x: |
|
`CROWN` | `0x4600` | :x: |
|
||||||
`TOUCHPAD_FW_ITEMS` | `0x6010` | :x: |
|
`TOUCHPAD_FW_ITEMS` | `0x6010` | :x: |
|
||||||
|
@ -110,7 +110,7 @@ Feature | ID | Status | Notes
|
||||||
`EQUALIZER` | `0x8310` | :x: |
|
`EQUALIZER` | `0x8310` | :x: |
|
||||||
`HEADSET_OUT` | `0x8320` | :x: |
|
`HEADSET_OUT` | `0x8320` | :x: |
|
||||||
|
|
||||||
"read only" in the notes column means that the state of the feature can be read, but not set.
|
"read only" in the notes column means that the feature is a read-only feature and cannot be changed.
|
||||||
|
|
||||||
# Implementing a feature
|
# Implementing a feature
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Documentation on HID++ can be found in the Google drive directory
|
||||||
|
https://drive.google.com/drive/folders/0BxbRzx7vEV7eWmgwazJ3NUFfQ28
|
|
@ -1,34 +0,0 @@
|
||||||
# battery icon names across various icon themes
|
|
||||||
|
|
||||||
B = 'battery'
|
|
||||||
CG = 'charging'
|
|
||||||
GB = 'gpm-battery'
|
|
||||||
|
|
||||||
theme (unknown) 0 0-CG 20 20-CG 40 40-CG 60 60-CG 80 80-CG 100 100-CG 100-full
|
|
||||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
gnome B-missing B-empty - B-caution B-caution-CG B-low B-low-CG - - B-good B-good-CG B-full B-full-CG B-full-charged
|
|
||||||
|
|
||||||
Humanity GB-missing GB-000 GB-000-CG GB-020 GB-020-CG GB-040 GB-040-CG GB-060 GB-060-CG GB-080 GB-080-CG GB-100 GB-100-CG GB-charged
|
|
||||||
(gnome) - B_empty - B-caution - B-low - B_two_thirds - B_third_fourth - B_full B_plugged B_charged
|
|
||||||
|
|
||||||
elementary B-missing B-000 B-000-CG B-020 B-020-CG B-040 B-040-CG B-060 B-060-CG B-080 B-080-CG B-100 B-100-CG B-charged
|
|
||||||
(gnome) - B-empty - B-caution B-caution-CG B-low B-low-CG - - B-good B-good-CG B-full B-full-CG B-full-charged
|
|
||||||
- B_empty - - - - - B_two_thirds - B_third_fourth - B_full B_plugged B_charged
|
|
||||||
|
|
||||||
faenza - GB-000 GB-000-CG GB-020 GB-020-CG GB-040 GB-040-CG GB-060 GB-060-CG GB-080 GB-080-CG GB-100 GB-100-CG GB-charged
|
|
||||||
(gnome) - B_empty - B_caution - B_low - B_two_thirds - B_third_fourth - B_full B_plugged B_charged
|
|
||||||
|
|
||||||
ubuntu-mono GB-missing GB-000 GB-000-CG GB-020 GB-020-CG GB-040 GB-040-CG GB-060 GB-060-CG GB-080 GB-080-CG GB-100 GB-100-CG GB-charged
|
|
||||||
(Humanity) B-000 B-000-CG B-020 B-020-CG B-040 B-040-CG B-060 B-060-CG B-080 B-080-CG B-100 B-100-CG B-charged
|
|
||||||
B_empty - B-caution - B-low - - - - - B_full - B_charged
|
|
||||||
|
|
||||||
oxygen B-missing B-low B-CG-low B-caution B-CG-caution B-040 B-CG-040 B-060 B-CG-060 B-080 B-CG-080 B-100 B-CG -
|
|
||||||
|
|
||||||
moblin - - - B-low - B-caution - - - B-good - B-full B-charging -
|
|
||||||
|
|
||||||
nuvola B-missing B-low - - - - - - - - - - B-charging -
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# weather icons (for lux)
|
|
|
@ -101,8 +101,12 @@ See [docs/installation.md](https://pwr-solaar.github.io/Solaar/installation) for
|
||||||
|
|
||||||
## Known Issues
|
## Known Issues
|
||||||
|
|
||||||
- KDE/Kubuntu: if some icons appear broken in the application, make sure you've
|
- The icon in the system tray can show up as 'black on black' in dark
|
||||||
properly configured the Gtk theme and icon theme in KDE's control panel.
|
distributions. This is due to problems in many system tray
|
||||||
|
implementations. Changing to a different theme may help.
|
||||||
|
|
||||||
|
- If some icons appear broken in the application, make sure you've properly
|
||||||
|
configured the Gtk theme and icon theme in your control panel.
|
||||||
|
|
||||||
- Running the command-line application while the GUI
|
- Running the command-line application while the GUI
|
||||||
application is also running *may* occasionally cause either of them to become
|
application is also running *may* occasionally cause either of them to become
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,26 +0,0 @@
|
||||||
The battery/charging level and status is reported only if the related
|
|
||||||
reporting flag in register 0x00 is enabled by the host. The
|
|
||||||
"Battery/Charging Level" byte indicates the battery level if the
|
|
||||||
"Charging State" indicates 0x00 ("Not Charging"). If "Charging State"
|
|
||||||
indicates 0x21 to 0x23 ("Charging"), the "Battery/Charging Level" byte
|
|
||||||
indicates the level of charging.
|
|
||||||
|
|
||||||
10 ix 07 r0 r1 r2 00
|
|
||||||
r0 -> Battery/Charging Level
|
|
||||||
0x00 = Reserved/Unknown
|
|
||||||
0x01 = Critical
|
|
||||||
0x02 = Critical (legacy value, don't use)
|
|
||||||
0x03 = Low
|
|
||||||
0x04 = Low (legacy value, don't use)
|
|
||||||
0x05 = Good
|
|
||||||
0x06 = Good (legacy value, don't use)
|
|
||||||
0x07 = Full
|
|
||||||
0x08..0xFF = Reserved
|
|
||||||
r1 -> Charging state
|
|
||||||
0x00 = Not charging
|
|
||||||
0x01..0x1F = Reserved (not charging)
|
|
||||||
0x20 = Unknown charging state
|
|
||||||
0x21 = Charging
|
|
||||||
0x22 = Charging complete
|
|
||||||
0x23 = Charging error
|
|
||||||
0x24..0xFF = Reserved
|
|
|
@ -1,277 +0,0 @@
|
||||||
*Read short register command*
|
|
||||||
|
|
||||||
10 ix 81 02 00 00 00
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index 0x0n: Device #n
|
|
||||||
|
|
||||||
0xFF: Transceiver
|
|
||||||
|
|
||||||
*Response to Read command (success)*
|
|
||||||
|
|
||||||
10 ix 81 02 00 r1 r2
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index (same as command)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
r1
|
|
||||||
|
|
||||||
Number of Connected Devices
|
|
||||||
|
|
||||||
bit 0..7: Number of connected devices (receivers only)
|
|
||||||
|
|
||||||
r2
|
|
||||||
|
|
||||||
Number of Remaining Pairing Slots
|
|
||||||
|
|
||||||
bit 0..7: Number of remaining pairing slots
|
|
||||||
|
|
||||||
|
|
||||||
*Read long register command*
|
|
||||||
|
|
||||||
10 ix 83 B5 nn 00 00
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index 0xFF: Transceiver
|
|
||||||
|
|
||||||
nn
|
|
||||||
|
|
||||||
0x20 Device 1
|
|
||||||
|
|
||||||
0x21 Device 2
|
|
||||||
|
|
||||||
0x22 Device 3
|
|
||||||
|
|
||||||
0x23 Device 4
|
|
||||||
|
|
||||||
0x24 Device 5
|
|
||||||
|
|
||||||
0x25 Device 6
|
|
||||||
|
|
||||||
0x26..0x2F Reserved for future extensions
|
|
||||||
|
|
||||||
*Response to Read command (success)*
|
|
||||||
|
|
||||||
11 ix 83 B5 nn r1 r2 r3 r4 r5 r6 r7 r8 r9 ra rb rc rd 00 00
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index (same as command)
|
|
||||||
|
|
||||||
nn
|
|
||||||
|
|
||||||
(same format as above)
|
|
||||||
|
|
||||||
r1
|
|
||||||
|
|
||||||
Destination ID
|
|
||||||
|
|
||||||
r2
|
|
||||||
|
|
||||||
Reserved
|
|
||||||
|
|
||||||
r3
|
|
||||||
|
|
||||||
Wireless PID MSB
|
|
||||||
|
|
||||||
r4
|
|
||||||
|
|
||||||
Wireless PID LSB
|
|
||||||
|
|
||||||
r5
|
|
||||||
|
|
||||||
Reserved
|
|
||||||
|
|
||||||
r6
|
|
||||||
|
|
||||||
Reserved
|
|
||||||
|
|
||||||
r7
|
|
||||||
|
|
||||||
Device type
|
|
||||||
|
|
||||||
0 undefined
|
|
||||||
|
|
||||||
1 keyboard
|
|
||||||
|
|
||||||
2 mouse
|
|
||||||
|
|
||||||
3 numpad
|
|
||||||
|
|
||||||
4 presenter
|
|
||||||
|
|
||||||
5 reserved
|
|
||||||
|
|
||||||
6 reserved
|
|
||||||
|
|
||||||
7 remote control
|
|
||||||
|
|
||||||
8 trackball
|
|
||||||
|
|
||||||
9 touchpad
|
|
||||||
|
|
||||||
a tablet
|
|
||||||
|
|
||||||
b gamepad
|
|
||||||
|
|
||||||
c joystick
|
|
||||||
|
|
||||||
r8
|
|
||||||
|
|
||||||
Reserved
|
|
||||||
|
|
||||||
r9
|
|
||||||
|
|
||||||
Reserved
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Alternatively, if enabled, you can also receive a notification when a new
|
|
||||||
device is paired:
|
|
||||||
|
|
||||||
This message is sent by a receiver to the host SW to report a freshly
|
|
||||||
connected device. Enable the HID++ connection reporting by setting the
|
|
||||||
corresponding bit in register 0x00 via HID++ Set Register command.
|
|
||||||
|
|
||||||
*Notification*
|
|
||||||
|
|
||||||
10 ix 41 r0 r1 r2 r3
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index
|
|
||||||
|
|
||||||
r0
|
|
||||||
|
|
||||||
bits [0..2] Protocol type
|
|
||||||
|
|
||||||
0x03 = eQUAD
|
|
||||||
|
|
||||||
0x04 = eQuad step 4 DJ
|
|
||||||
|
|
||||||
bits [3..7] Reserved
|
|
||||||
|
|
||||||
r1
|
|
||||||
|
|
||||||
Device Info
|
|
||||||
|
|
||||||
bit0..3 = Device Type
|
|
||||||
|
|
||||||
0x00 = Unknown
|
|
||||||
|
|
||||||
0x01 = Keyboard
|
|
||||||
|
|
||||||
0x02 = Mouse
|
|
||||||
|
|
||||||
0x03 = Numpad
|
|
||||||
|
|
||||||
0x04 = Presenter
|
|
||||||
|
|
||||||
|
|
||||||
r2
|
|
||||||
|
|
||||||
Wireless PID LSB
|
|
||||||
|
|
||||||
r3
|
|
||||||
|
|
||||||
Wireless PID MSB
|
|
||||||
|
|
||||||
To enable the notifications:
|
|
||||||
Enable HID++ Notifications:
|
|
||||||
|
|
||||||
This register defines a number of flags that allow the SW to turn on or off
|
|
||||||
individual spontaneous HID++ reports. Not setting a flag means default
|
|
||||||
reporting. See the table below for more details on each flag.
|
|
||||||
|
|
||||||
For all bits: *0 = disabled* (default value at power-up), 1 = enabled.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*Read short register command*
|
|
||||||
|
|
||||||
10 ix 81 00 00 00 00
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index 0x0n: Device #n
|
|
||||||
|
|
||||||
0xFF: Transceiver
|
|
||||||
|
|
||||||
*Response to Read command (success)*
|
|
||||||
|
|
||||||
10 ix 81 00 r0 r1 r2
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index (same as command)
|
|
||||||
|
|
||||||
r0
|
|
||||||
|
|
||||||
HID++ Reporting Flags (Devices)
|
|
||||||
|
|
||||||
bit 0..3. reserved
|
|
||||||
|
|
||||||
bit 4: Battery Status
|
|
||||||
|
|
||||||
bit 5..7 reserved
|
|
||||||
|
|
||||||
r1
|
|
||||||
|
|
||||||
HID++ Reporting Flags (Receiver)
|
|
||||||
|
|
||||||
bit 0: Wireless notifications
|
|
||||||
|
|
||||||
bit 1..7 reserved
|
|
||||||
|
|
||||||
r2
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*Write short register command*
|
|
||||||
|
|
||||||
10 ix 80 00 p0 p1 p2
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index 0x0n: Device #n
|
|
||||||
|
|
||||||
0xFF: Transceiver
|
|
||||||
|
|
||||||
p0
|
|
||||||
|
|
||||||
HID++ Reporting Flags (Devices)
|
|
||||||
|
|
||||||
(same format as above)
|
|
||||||
|
|
||||||
p1
|
|
||||||
|
|
||||||
HID++ Reporting Flags (Receiver)
|
|
||||||
|
|
||||||
(same format as above)
|
|
||||||
|
|
||||||
p2
|
|
||||||
|
|
||||||
|
|
||||||
*Response to Write command (success)*
|
|
||||||
|
|
||||||
10 ix 80 00 zz zz zz
|
|
||||||
|
|
||||||
ix
|
|
||||||
|
|
||||||
Index (same as command)
|
|
||||||
|
|
||||||
zz
|
|
||||||
|
|
||||||
(don't care, recommended to return 0)
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,14 +0,0 @@
|
||||||
Unifying receiver:
|
|
||||||
046d:c52b interface: 2 driver: logitech-djreceiver
|
|
||||||
046d:c532 interface: 2 driver: logitech-djreceiver
|
|
||||||
|
|
||||||
|
|
||||||
Nano receiver, Advanced/Unifying ready:
|
|
||||||
046d:c52f interface: 1 driver: hid-generic
|
|
||||||
|
|
||||||
|
|
||||||
Nano receiver:
|
|
||||||
046d:c51a interface: 1 driver: hid-generic
|
|
||||||
046d:c526 interface: 1 driver: hid-generic
|
|
||||||
046d:c52e interface: 1 driver: hid-generic
|
|
||||||
046d:c531 interface: 1 driver: hid-generic
|
|
Loading…
Reference in New Issue