hid: copy newer version of hid_parser into Solaar codebase
This commit is contained in:
parent
8ae86acd65
commit
6805a57b94
|
@ -11,72 +11,26 @@ Solaar supports most Logitech Nano, Unifying, and Bolt receivers.
|
||||||
Solaar supports some Lightspeed receivers.
|
Solaar supports some Lightspeed receivers.
|
||||||
See the receiver table below for the list of currently supported receivers.
|
See the receiver table below for the list of currently supported receivers.
|
||||||
|
|
||||||
Solaar supports most recent and many older Logitech devices
|
Solaar supports all Logitech devices (keyboards, mice, trackballs, touchpads, and headsets)
|
||||||
(keyboards, mice, trackballs, touchpads, and headsets)
|
|
||||||
that can connect to supported receivers.
|
that can connect to supported receivers.
|
||||||
Solaar supports many recent Logitech devices that can connect via a USB cable,
|
Solaar supports all Logitech devices that can connect via a USB cable or via Bluetooth,
|
||||||
but some such Logitech devices are not suited for use in Solaar because they do not use the HID++ protocol.
|
as long as the device uses the HID++ protocol.
|
||||||
One example is the MX518 Gaming Mouse.
|
|
||||||
Solaar supports most recent Logitech devices that can connect via Bluetooth.
|
|
||||||
|
|
||||||
The best way to determine whether Solaar supports a device is to run Solaar while the device is connected.
|
The best way to determine whether Solaar supports a device is to run Solaar while the device is connected.
|
||||||
If the device is supported, it will show up in the Solaar main window.
|
If the device is supported, it will show up in the Solaar main window.
|
||||||
If it is not, and there is no issue about the device in the Solaar GitHub repository,
|
|
||||||
open an enhancement issue requesting that it be supported.
|
|
||||||
|
|
||||||
The directory <https://github.com/pwr-Solaar/Solaar/tree/master/docs/devices> contains edited output
|
The directory <https://github.com/pwr-Solaar/Solaar/tree/master/docs/devices> contains edited output
|
||||||
of `solaar show` on many devices and can be used to see what Solaar can do with the device.
|
of `solaar show` on many devices and can be used to see what Solaar can do with the device.
|
||||||
|
|
||||||
|
|
||||||
## Adding new devices
|
## Supporting old devices
|
||||||
|
|
||||||
Most new HID++ devices do not need to be known to Solaar to work.
|
Some old Logitech devices use an old version of HID++.
|
||||||
You should be able to just run Solaar and the device will show up.
|
For Solaar to support these devices well, Solaar needs some information about them.
|
||||||
|
|
||||||
If your device does not show up,
|
If you have an old Logitech device that shows up in Solaar but has no settings
|
||||||
either it doesn't use HID++ or the interface it uses isn't the one Solaar normally uses.
|
and you feel that Solaar should be able to do more with the device you can
|
||||||
To start the process of support for a Logitech device open an enhancement issue for Solaar and
|
open an enhancement request for Solaar to better support the device.
|
||||||
follow these steps:
|
|
||||||
|
|
||||||
1. Make sure the receiver or device is connected and active.
|
|
||||||
|
|
||||||
2. Look at the output of `grep -H . /sys/class/hidraw/hidraw*/device/uevent` to find
|
|
||||||
where information about the device is kept.
|
|
||||||
You are looking for a line like `/sys/class/hidraw/hidrawN/device/uevent:HID_NAME=<NAME>`
|
|
||||||
where \<NAME\> is the name of your receiver or device.
|
|
||||||
N is the current HID raw number of your receiver or device.
|
|
||||||
|
|
||||||
3. Provide the contents of the file `/sys/class/hidraw/hidrawN/device/uevent` where N was found
|
|
||||||
above.
|
|
||||||
|
|
||||||
4. Also attach the contents of the file `/sys/class/hidraw/hidrawN/device/report_descriptor`
|
|
||||||
to the enhancement request.
|
|
||||||
You will have to copy the contents to a file with txt extension before attaching it.
|
|
||||||
Or, better, install hidrd-convert and attach the output of
|
|
||||||
`hidrd-convert -o spec /sys/class/hidraw/hidrawN/device/report_descriptor`
|
|
||||||
(To install hidrd on Fedora use `sudo dnf install hidrd`.)
|
|
||||||
|
|
||||||
5. If your device or receiver connects via USB, look at the output of `lsusb`
|
|
||||||
to find the ID of the device or receiver and also provide the output of
|
|
||||||
`lsusb -vv -d xxxx:yyyy` where xxxx:yyyy is the ID of the device or receiver.
|
|
||||||
|
|
||||||
If your device can connect in multiple ways - via a receiver, via USB (not just charging via a USB cable),
|
|
||||||
via Bluetooth - do this for each way it can connect.
|
|
||||||
|
|
||||||
### Adding information about a new device to the Solaar code
|
|
||||||
|
|
||||||
The _D function in `../lib/logitech_receiver/descriptors.py` makes a device known to Solaar.
|
|
||||||
The usual arguments to the _D function are the device's long name, its short name
|
|
||||||
(codename), and its HID++ protocol version.
|
|
||||||
Devices that use HID++ 1.0 need a tuple of known registers (registers) and settings (settings).
|
|
||||||
Settings can be provided for Devices that use HID++ 2.0 or later,
|
|
||||||
but Solaar can determine these from the device.
|
|
||||||
If the device can connect to a receiver, provide its wireless product ID (wpid),
|
|
||||||
If the device can connect via Bluetooth, provide its Bluetooth product ID (btid).
|
|
||||||
If the device can connect via a USB cable, provide its USB product ID (usbid),
|
|
||||||
and the interface it uses to send and receiver HID++ messages (interface - default 2).
|
|
||||||
The use of a non-default USB interface is the main reason for requiring information about
|
|
||||||
modern devices to be added to Solaar.
|
|
||||||
|
|
||||||
|
|
||||||
## Adding new receivers
|
## Adding new receivers
|
||||||
|
@ -129,7 +83,7 @@ a subset of the HID++ 1.0 protocol. Only hardware pairing is supported.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Supported Devices
|
## Supported Devices (Historical Interest Only)
|
||||||
|
|
||||||
The device tables below provide a list of some of the devices that Solaar supports,
|
The device tables below provide a list of some of the devices that Solaar supports,
|
||||||
giving their product name, WPID product number, and HID++ protocol information.
|
giving their product name, WPID product number, and HID++ protocol information.
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1
setup.py
1
setup.py
|
@ -76,7 +76,6 @@ For instructions on installing Solaar see https://pwr-solaar.github.io/Solaar/in
|
||||||
python_requires=">=3.7",
|
python_requires=">=3.7",
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'evdev (>= 1.1.2) ; platform_system=="Linux"',
|
'evdev (>= 1.1.2) ; platform_system=="Linux"',
|
||||||
'hid_parser (>= 0.0.3) ; platform_system=="Linux"',
|
|
||||||
"pyudev (>= 0.13)",
|
"pyudev (>= 0.13)",
|
||||||
"PyYAML (>= 3.12)",
|
"PyYAML (>= 3.12)",
|
||||||
"python-xlib (>= 0.27)",
|
"python-xlib (>= 0.27)",
|
||||||
|
|
Loading…
Reference in New Issue