diff --git a/CHANGELOG.md b/CHANGELOG.md index 936c03e5..4b0ae0bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,93 @@ +# 1.1.12 + +* Use bluez dbus signals to disconnect and connect bluetooth devices +* Handle a different signal for onboard profiles directory in ROM +* Introduce small delay in getting pairing information to let receiver settle after pairing +* Improve testing for settings_templates, settings, hidpp20, and device and fix small bugs found +* Add extended adjustable DPI setting +* Improve and extend infrastructure for testing setting_templates +* Update Greek translation +* Implement and test per-key lighting +* Refactor and test pair_window in GUI +* Handle situation when read of a setting fails in GUI +* Permit continuing when a read during pushing fails +* Fix bug in LEDZoneSetting when effect is not implemented +* Add tests for LEDEffect structures in hidpp20 +* Handle BRIGHTNESS_CONTROL notifications +* Add settings for BRIGHTNESS_CONTROL and RGB_EFFECTS features +* Fix small bugs found from testing in settings +* Use f-strings for more exceptions and log message +* Tests for setting_templates +* Simple change in settings to improve testability +* Use feature_request from the device everywhere in hidpp20 +* Fix bug in backlight 2 durations +* Replace deprecated code constructs +* Set up test data and classes to help test HID++ interactions +* Use pytest to test code for logitech_receiver modules +* Align init methods for all receiver classes +* Start refactoring of code base +* Allow sub-second delays in Later +* Fix bug in setting configuration cookie due to bad documentation +* Use ruff for code styling and linting +* Upgrade string formating to f-string +* Document battery-icons=solaar option +* Tell devices to delay device sending first messages until configuration is done +* Optimize some functions in FeaturesArray +* Fix bug in creating features array +* Fix bug in building battery line in show +* Refactor diversion_rules +* Fix bug in determining tray icon +* Fix bug in getting friendly name +* Move status information to Device and Receiver objects +* Add tests for get_kind_from_index and base product information +* Update EX100 documentation +* Use object attributes instead of dictionary in status objects +* Create subclasses of receiver for different variants +* Add requirement for CONFIG_HIDRAW to documentation +* Add some low-level tests for some hidpp20 functions, profiles, and lighting and some hidpp10 tests +* Fix app name casing in UI +* Add missing receiver type for Lightspeed receivers +* Add new device types +* Refactor device and receiver instantiation +* Simplify naming of distribution files +* Clean up some logging code +* Remove duplicated code to read register +* Introduce Hidpp20 and Hidpp10 class +* Remove unnecessary calls of del +* Fix bug when reading BACKLIGHT setting from device +* Replace invalid hidpp10 and hidpp20 usages +* Use only timer thread to save config.yaml +* Improve README +* Copy newer version of hid_parser +* Reorder code in settings +* Update installation documentation +* Add missing license blocks +* Clean up listener and notifications code +* Add locks to prevent multiple persisters for device +* Clean up configuration, device, and receiver code +* Move battery constants common to HID++ 1.0 and 2.0 to common +* Move mapping of device kind into hidpp20 +* Move pairing information gathering to receiver +* update contributors +* Expand allowable profile numbers +* Clean up __init__ in logitech_receiver +* Modify pre-commit args to make ruff change files +* Fix bug in hidpp20 get host names +* Use ruff for formatting and linting +* Fix bug in rule Set action +* Add notify module to logitech_receiver +* Implement setting_changed callback and pass in to new devices and receivers +* Add callback to call when changing a setting +* Move exceptions, hidpp20 and hidpp10 constants into new modules +* Streamline status code +* Upgrade debugging in udev +* Fix deprecated GitHub actions +* Extend makefile and tests +* Improve features array +* Move ui_async to common.py +* Improve module imports +* Add tests of common module + # 1.1.11 * Rename light icons and install them in correct place diff --git a/Release_Notes.md b/Release_Notes.md index 7bbf18fa..dacb9d1e 100644 --- a/Release_Notes.md +++ b/Release_Notes.md @@ -1,5 +1,21 @@ # Notes on Major Changes in Releases +## Version 1.1.12 + +* Solaar now processes DBus disconnection and connection messages from Bluez and re-initializes devices when they reconnect, to handle to a change introduced in Bluez 5.73. The HID++ driver does not re-initialize devices, which causes problems with smooth scrolling. Until the issue is resolved having Scroll Wheel Resolution set to true (and not ignored) may be helpful. + +* The credits for translations have not been kept up to date. Translators who are not listed can update docs/i18n.ml and lib/solaar/ui/about.py. + +* Solaar now has settings for features BRIGHTNESS_CONTROL, RGB_EFFECTS, and PER_KEY_LIGHTING features. The names of keys in the Per-key Lighting setting are for the standard US keyboard. Users who wish to modify these names should look at the section Keyboard Key Names and Locations in `https://pwr-solaar.github.io/Solaar/capabilities` + +* A unit test test suite is being constructed using pytest. + +* The Solaar code for communicating with receivers and devices has been significantly modified to improve testability and organization. Errors may have been introduced for uncommon hardware. + +* The Later rule action uses precision timing for delays of less than one second. + +* Solaar now indentifies supported devices by whether they support the HID protocols that Solaar needs. If a device does not show up at all when running Solaar, it almost certainly cannot be supported by Solaar. + ## Version 1.1.11 * Solaar can dump device profiles in YAMLfor devices that support profiles and load profiles back from an edited file. See [the capabilities page](https://pwr-solaar.github.io/Solaar/capabilities) for more information. diff --git a/docs/devices/G733 Gaming Headset 0AFE.text b/docs/devices/G733 Gaming Headset 0AFE.text new file mode 100644 index 00000000..9f4d9383 --- /dev/null +++ b/docs/devices/G733 Gaming Headset 0AFE.text @@ -0,0 +1,42 @@ +solaar version 1.1.11 + +G733 Gaming Headset + Device path : /dev/hidraw3 + USB id : 046d:0AFE + Codename : G733 Headset New + Kind : headset + Protocol : HID++ 4.2 + Serial number: + Model ID: 0AFE00000000 + Unit ID: FFFFFFFF + Firmware: U2 00.06 + Supports 9 HID++ 2.0 features: + 0: ROOT {0000} V0 + 1: FEATURE SET {0001} V0 + 2: DEVICE FW VERSION {0003} V2 + Firmware: Firmware U2 00.06 0AFE + Unit ID: FFFFFFFF Model ID: 0AFE00000000 Transport IDs: {'usbid': '0AFE'} + 3: DEVICE NAME {0005} V0 + Name: G733 Gaming Headset + Kind: None + 4: COLOR LED EFFECTS {8070} V3 + LED Control (saved): Device + LED Control : Device + LEDs Logo (saved): !LEDEffectSetting {ID: 0x0} + LEDs Logo : !LEDEffectSetting {ID: 0} + LEDs Primary (saved): !LEDEffectSetting {ID: 0x1, color: 0x0, ramp: 0x0} + LEDs Primary : !LEDEffectSetting {ID: 1, color: 0x10000, ramp: 0x0} + 5: GKEY {8010} V0 + Divert G and M Keys (saved): False + Divert G and M Keys : False + 6: EQUALIZER {8310} V1 + Equalizer (saved): {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0} + Equalizer : {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0} + 7: SIDETONE {8300} V0 + Sidetone (saved): 0 + Sidetone : 0 + 8: ADC MEASUREMENT {1F20} V4 + Battery: 60% 3867mV , discharging. + Power Management (saved): 0 + Power Management : 0 + Battery: 60% 3867mV , discharging. diff --git a/docs/devices/PRO X 2 40A9.text b/docs/devices/PRO X 2 40A9.text index ca71b4dd..2a39077d 100644 --- a/docs/devices/PRO X 2 40A9.text +++ b/docs/devices/PRO X 2 40A9.text @@ -39,15 +39,15 @@ Receiver Battery: 96%, discharging. 7: XY STATS {2250} V1 8: WHEEL STATS {2251} V0 - 9: unknown:2202 {2202} V0 + 9: unknown:2202 {2202} V0 EXTENDED_ADJUSTABLE_DPI 10: MODE STATUS {8090} V2 - 11: unknown:8061 {8061} V0 + 11: unknown:8061 {8061} V0 EXTENDED_ADJUSTABLE_REPORT_RATE 12: ONBOARD PROFILES {8100} V0 Device Mode: On-Board Onboard Profiles (saved): Enable Onboard Profiles : Enable 13: MOUSE BUTTON SPY {8110} V0 - 14: unknown:1500 {1500} V0 + 14: unknown:1500 {1500} V0 FORCE_PAIRING 15: unknown:1801 {1801} V0 internal, hidden, unknown:000010 16: DEVICE RESET {1802} V0 internal, hidden, unknown:000010 17: unknown:1803 {1803} V0 internal, hidden, unknown:000010 diff --git a/docs/i18n.md b/docs/i18n.md index e88190e3..860ca3d1 100644 --- a/docs/i18n.md +++ b/docs/i18n.md @@ -43,17 +43,29 @@ a translation. Some of the languages Solaar has been translated to are listed below. A full list of available translations can be obtained by checking the `/po` folder for translation files. - Chinese (Simplified): [Rongrong][Rongronggg9] -- Français: [Papoteur][papoteur], [David Geiger][david-geiger], - [Damien Lallement][damsweb] -- Italiano: [Michele Olivo][micheleolivo] -- Norsk (Bokmål): [John Erling Blad][jeblad] -- Polski: [Adrian Piotrowicz][nexces] -- Portuguese-BR: [Drovetto][drovetto], [Josenivaldo Benito Jr.][jrbenito] -- Română: Daniel Pavel -- Russian: [Dimitriy Ryazantcev][DJm00n] -- Slovak: [Jose Riha][jose1711] -- Svensk: [Daniel Zippert][zipperten], Emelie Snecker +- Chinese (Taiwan): Peter Dave Hello +- Czech: Marián Kyral +- Croatian: gogo +- Danish: John Erling Blad +- Dutch: Heimen Stoffels +- Français: [Papoteur][papoteur], [David Geiger][david-geiger], [Damien Lallement][damsweb] +- Finnish: Tomi Leppänen +- German: Daniel Frost +- Greek: Vangelis Skarmoutsos - Indonesia: [Ferdina Kusumah][feku] +- Italiano: [Michele Olivo][micheleolivo], Lorenzo +- Japanese: Ryunosuke Toda +- Norsk (Bokmål): [John Erling Blad][jeblad] +- Polski: [Adrian Piotrowicz][nexces], Matthaiks +- Portuguese: Américo Monteiro +- Portuguese-BR: [Drovetto][drovetto], [Josenivaldo Benito Jr.][jrbenito], Vinícius +- Română: Daniel Pavel +- Russian: [Dimitriy Ryazantcev][DJm00n], Anton Soroko +- Slovak: [Jose Riha][jose1711] +- Spanish, Castilian: Jose Luis Tirado +- Svensk: [Daniel Zippert][zipperten], Emelie Snecker +- Swedish: John Erling Blad +- Turkish: Osman Karagöz [Rongronggg9]: https://github.com/Rongronggg9 [papoteur]: https://github.com/papoteur diff --git a/lib/solaar/version b/lib/solaar/version index 9ee1f786..8c66b977 100644 --- a/lib/solaar/version +++ b/lib/solaar/version @@ -1 +1 @@ -1.1.11 +1.1.12rc1 diff --git a/share/solaar/io.github.pwr_solaar.solaar.metainfo.xml b/share/solaar/io.github.pwr_solaar.solaar.metainfo.xml index 62769722..c7b23338 100644 --- a/share/solaar/io.github.pwr_solaar.solaar.metainfo.xml +++ b/share/solaar/io.github.pwr_solaar.solaar.metainfo.xml @@ -47,6 +47,7 @@ +