diff --git a/docs/capabilities.md b/docs/capabilities.md index c5549d2f..4bd45b3b 100644 --- a/docs/capabilities.md +++ b/docs/capabilities.md @@ -186,13 +186,13 @@ Solaar is uses the standard US keyboard layout. This currently only matters for This is an experimental feature and may be modified or even eliminated. -### Device Profiles +### Onboard Profiles -Some mice store one or more profiles, which control aspects of the behavior of the device. +Some mice store one or more profiles onboard. An onboard profile controls certain aspects of the behavior of the mouse, including the rate at which the mouse reports movement, the resolution of the the movement reports, what the mouse buttons do, LED effects, and maybe more. Solaar has a setting that switches between profiles or disables all profiles. -Profiles can control the rate at which the mouse reports movement, the resolution of the the movement reports, what the mouse buttons do, and its LED effects. Solaar can dump the entire set of profiles into a YAML file can load an entire set of profiles from a file. Users can edit the file to effect changes to the profiles. Solaar has a setting that switches between profiles or disables all profiles. When switching between profiles or using a button to change resolution Solaar keeps track of the changes in the settings for these features. +When an onboard profile is active it may not be possible to change the aspects that the profile controls. This is often seen for the Report Rate setting. For some devices it is possible to make changes to the Sensitivity setting and to LED settings. These changes are likely to only be temporary and may be overridden when the device reconnects or when Solaar is restarted. This is in keeping with the intent of Onboard Profiles as controlling the device behavior. To make the changes to these settings permanent it is necessary to disable onboard profiles. Alternatively, multiple profiles can be set up as described below and these settings controlled by switching between the profiles. -When profiles are active changes cannot be made to the Report Rate setting. Changes can be made to the Sensitivity setting and to LED settings. To keep the profile values make these setting ignored. +Solaar can dump the entire set of profiles into a YAML file and can load the entire set of profiles from a file. Users can edit the file to effect changes to the profiles. A profile file has some bookkeeping information, including profile version and the name of the device, and a sequence of profiles. @@ -247,7 +247,7 @@ See USB_HID_KEYCODES and HID_CONSUMERCODES in lib/logitech_receiver/special_keys Buttons can also execute macros but Solaar does not provide any support for macros. -Lighting information is a sequence of lighting effects, with the first for the logo LEDs and the second for the side LEDs. +Lighting information is a sequence of lighting effects, with the first usually for the logo LEDs and the second usually for the side LEDs. The fields possible in an effect are: - ID: The kind of effect: diff --git a/docs/features.md b/docs/features.md index f3fe1fcb..6fbee37a 100644 --- a/docs/features.md +++ b/docs/features.md @@ -39,8 +39,8 @@ Feature | ID | Status | Notes `CONFIG_DEVICE_PROPS` | `0x1806` | Unsupported | `CHANGE_HOST` | `0x1814` | Supported | `ChangeHost` `HOSTS_INFO` | `0x1815` | Partial Support | `get_host_names`, partial listing only -`BACKLIGHT` | `0x1981` | Unsupported | -`BACKLIGHT2` | `0x1982` | Supported | `Backlight2` +`BACKLIGHT` | `0x1981` | Supported | `Backlight` +`BACKLIGHT2` | `0x1982` | Supported | `Backlight2`, ... `BACKLIGHT3` | `0x1983` | Unsupported | `PRESENTER_CONTROL` | `0x1A00` | Unsupported | `SENSOR_3D` | `0x1A01` | Unsupported | @@ -54,7 +54,7 @@ Feature | ID | Status | Notes `WIRELESS_DEVICE_STATUS` | `0x1D4B` | Read only | status reporting from device `REMAINING_PAIRING` | `0x1DF0` | Unsupported | `FIRMWARE_PROPERTIES` | `0x1F1F` | Unsupported | -`ADC_MEASUREMENT` | `0x1F20` | Unsupported | +`ADC_MEASUREMENT` | `0x1F20` | Supported | `ADCPower` `LEFT_RIGHT_SWAP` | `0x2001` | Unsupported | `SWAP_BUTTON_CANCEL` | `0x2005` | Unsupported | `POINTER_AXIS_ORIENTATION` | `0x2006` | Unsupported | @@ -97,22 +97,22 @@ Feature | ID | Status | Notes `GESTURE` | `0x6500` | Unsupported | `GESTURE_2` | `0x6501` | Partial Support | `Gesture2Gestures`, `Gesture2Params` `GKEY` | `0x8010` | Partial Support | `DivertGkeys` -`MKEYS` | `0x8020` | Unsupported | -`MR` | `0x8030` | Unsupported | -`BRIGHTNESS_CONTROL` | `0x8040` | Unsupported | -`REPORT_RATE` | `0x8060` | Supported | `ReportRate` -`COLOR_LED_EFFECTS` | `0x8070` | Unsupported | -`RGB_EFFECTS` | `0X8071` | Unsupported | +`MKEYS` | `0x8020` | Supported | `MkeyLEDs` +`MR` | `0x8030` | Supported | `MRKeyLED` +`BRIGHTNESS_CONTROL` | `0x8040` | Supported | `BrightnessControl` +`REPORT_RATE` | `0x8060` | Supported | `ReportRate` +`COLOR_LED_EFFECTS` | `0x8070` | Supported | `LEDControl`, `LEDZoneSetting` +`RGB_EFFECTS` | `0X8071` | Supported | `RGBControl`, `RGBEffectSetting` `PER_KEY_LIGHTING` | `0x8080` | Unsupported | -`PER_KEY_LIGHTING_V2` | `0x8081` | Unsupported | +`PER_KEY_LIGHTING_V2` | `0x8081` | Supported | `PerKeyLighting` `MODE_STATUS` | `0x8090` | Unsupported | -`ONBOARD_PROFILES` | `0x8100` | Unsupported | +`ONBOARD_PROFILES` | `0x8100` | Supported | `MOUSE_BUTTON_SPY` | `0x8110` | Unsupported | `LATENCY_MONITORING` | `0x8111` | Unsupported | `GAMING_ATTACHMENTS` | `0x8120` | Unsupported | `FORCE_FEEDBACK` | `0x8123` | Unsupported | -`SIDETONE` | `0x8300` | Unsupported | -`EQUALIZER` | `0x8310` | Unsupported | +`SIDETONE` | `0x8300` | Supported | `Sidetone` +`EQUALIZER` | `0x8310` | Supported | `Equalizer` `HEADSET_OUT` | `0x8320` | Unsupported | A “read only” note means the feature is a read-only feature. diff --git a/docs/implementation.md b/docs/implementation.md index a4bb0b73..e3fca943 100644 --- a/docs/implementation.md +++ b/docs/implementation.md @@ -68,9 +68,9 @@ Many devices allow reprogramming some keys or buttons. One the main reasons for Many pointing devices provide a facility for recognizing gestures and sending an HID message for the gesture. The `Gesture` class stores inforation for one gesture and the `Gestures` class stores information for all the gestures on a device. Functions in the Device class request `KeysArray` information and store it on devices. Functions in the Device class request `Gestures` information for a device when appropriate and store it on the device. -Many gaming devices provide an interface to controlling their LEDs by zone. The `LEDEffectSetting` class stores the current state of one zone of LEDs. This information can come directly from an LED feature but is also part of device profiles so this class provides a byte string interface. Solaar stores this information in YAML so this class provides a YAML interface. The `LEDEffectsInfo` class stores information about what LED zones are on a device and what effects they can perform and provides a method that builds an object by querying a device. +Many gaming devices provide an interface to controlling their LEDs by zone. The `LEDEffectSetting` class stores the current state of one zone of LEDs. This information can come directly from an LED feature but is also part of Onboard Profiles so this class provides a byte string interface. Solaar stores this information in YAML so this class provides a YAML interface. The `LEDEffectsInfo` class stores information about what LED zones are on a device and what effects they can perform and provides a method that builds an object by querying a device. -Many gaming devices can be controlled by selecting one of their profiles. A profile sets up the rate at which the device reports movement, a set of sensitivites of its movement detector, a set of actions to be performed by mouse buttons or G and M keys, and effects for up to two LED zones. The `Button` class stores information about a button or key action. The `OnboardProfile` class stores a single profile, using the `LEDEffectSetting` and `Button` classes. Because retrieving and changing a profile is complex, this class provides a byte string interface. Because Solaar dumps profiles from devices as YAML documents and loads them into devices from YAML documents, this class provides a YAML interface. The `OnboardProfiles` class class stores the entire profiles information for a device. It provides an interface to construct an `OnboardProfiles` object by querying a device. +Many gaming devices can be controlled by selecting one of their Onboard Profiles. An Onboard Profile sets up the rate at which the device reports movement, a set of sensitivites of its movement detector, a set of actions to be performed by mouse buttons or G and M keys, and effects for up to two LED zones. The `Button` class stores information about a button or key action. The `OnboardProfile` class stores a single profile, using the `LEDEffectSetting` and `Button` classes. Because retrieving and changing a profile is complex, this class provides a byte string interface. Because Solaar dumps profiles from devices as YAML documents and loads them into devices from YAML documents, this class provides a YAML interface. The `OnboardProfiles` class class stores the entire profiles information for a device. It provides an interface to construct an `OnboardProfiles` object by querying a device. Because Solaar dumps profiles from devices as YAML documents and loads them into devices from YAML documents, these classes also provide a YAML interface. #### HID++ 1.0