MattHag
70def31942
Refactor: Distinguish module from package
...
Adapt module names to easily distinguish them.
Related #2480
2024-09-15 09:18:51 -04:00
Peter F. Patel-Schneider
fdd2c79950
settings: allow unkonwn keys in Key rule conditions
2024-08-28 10:40:23 -04:00
Peter F. Patel-Schneider
4578f5f6f1
device: cycle sw_id to better guard against duplication of messages
2024-08-23 19:41:10 -04:00
Peter F. Patel-Schneider
c07c30baef
device: handle error return on root feature
2024-08-23 19:41:10 -04:00
Peter F. Patel-Schneider
d9d67ed738
device: handle unknown device kinds
2024-07-02 10:59:16 -04:00
Peter F. Patel-Schneider
3aa064b40f
settings: finish change to new constants
2024-06-13 10:01:50 -04:00
MattHag
86b55b9c25
Introduce Enum BusID
...
Distinguishes Bluetooth and USB devices.
2024-06-03 08:37:02 -04:00
MattHag
7f5e156fa1
Introduce constant for Logitech vendor ID
...
The Vendor ID for Logitech is 0x46D = 1133.
2024-06-03 08:37:02 -04:00
MattHag
d67466298b
Introduce Enum for notification types
2024-06-03 08:37:02 -04:00
MattHag
9726b93a78
Improve base module
...
Use clearer names and type hints.
2024-06-03 08:37:02 -04:00
MattHag
e316ed1bc2
Remove unnecessary receiver info 'hid_driver'
...
The same constant is used everywhere.
2024-06-03 08:37:02 -04:00
MattHag
a5ded24057
Convert HIDPPNotification to dataclass
...
Replaces the very last namedtuple.
2024-06-03 08:37:02 -04:00
Peter F. Patel-Schneider
2113e63a75
device: be defensive when converting battery status to string
2024-06-03 08:33:11 -04:00
MattHag
be83dac209
hid: Convert definition of HID registers to enum
...
* Refactor HID Register definitions
Use enums for distinct type hints, easy discovery of registers.
Make constants uppercase and benefit from enum auto-completion.
Related #2273
* Improve type hints: Registers
2024-06-02 10:34:00 -04:00
MattHag
c23ebcd267
Use double quotes for module level docstrings
...
Make module level docstrings distinguishable from license text.
Related #2273
2024-06-02 09:54:21 -04:00
MattHag
5a63e44d58
Remove empty comment lines
...
Remove hashtags solely used for structuring.
Related #2273
2024-06-02 09:54:21 -04:00
MattHag
c29231bc6b
refactor: Creation of devices ( #2493 )
...
* Refine interfaces for testability
* Reenable fixed device tests
2024-05-27 11:58:16 -04:00
MattHag
815dce07be
Unify imports in logitech package
...
Related #2273
2024-05-23 16:42:18 -04:00
Peter F. Patel-Schneider
90b0db6c3b
device: don't ping device when getting name or codename
2024-05-22 21:22:08 -04:00
Matthias Hagmann
c9dc232951
Refactor: Use dataclasses and enums
...
Replace unnecessary NamedInts in favour of default data types.
Simplify interfaces by reducing possible input from strings to members
of an enum.
2024-05-22 21:14:41 -04:00
Matthias Hagmann
469c04faaf
Introduce Device protocol and type hints
2024-05-22 21:14:41 -04:00
Matthias Hagmann
193dbfda21
hidpp10: Move independent functions to module level
2024-05-22 21:14:41 -04:00
MattHag
500b9998c5
Fix macOS compatibility and reenable CI tests
...
* Fix CI for macOS
* Fix error message for missing hidapi
* Skip some device and receiver tests on macOS
Tests fail on macOS, enable them when unit tests are
refined to only test the module without dependencies.
* Safe guard dbus import
2024-05-22 18:45:40 -04:00
Peter F. Patel-Schneider
1dfc4bdb1c
settings: add choices universe for backlight setting
2024-05-08 08:05:00 -04:00
MattHag
1d5b61fbf2
diversion: Simplify and type hint
...
- Make static method an easy testable function.
- Fix variable name clashes
2024-05-05 10:43:39 -04:00
Peter F. Patel-Schneider
3ffa4e30f1
settings: get and use current host number for K375sFnSwap because of bug in firmware of MX Keys S
2024-05-04 04:46:27 -04:00
Peter F. Patel-Schneider
da1cb53c1b
settings: optimize write for per-key lighting
2024-05-03 11:54:24 -04:00
Peter F. Patel-Schneider
e5967edc66
settings: add and initialize per-key lighting to a special no-change value
2024-05-03 11:54:24 -04:00
MattHag
959dd2a35b
Refactor rule loading for testability ( #2456 )
...
rules: Introduce tests for YAML rule loading functionality.
2024-04-27 17:56:27 -04:00
Peter F. Patel-Schneider
932bc5cb0e
device: check for existences of keys file before opening
2024-04-21 17:37:10 -04:00
MistificaT0r
4225fce8d7
po: update Russion translation and have all strings translated
...
* update Russian translation
* Fixed translation display in GUI
* fix checks / Fixed translation display in GUI
2024-04-21 11:36:39 -04:00
Peter F. Patel-Schneider
cf038fd982
settings: improve label and description for LED zone settings
2024-04-19 16:05:29 -04:00
Peter F. Patel-Schneider
7bef5c046c
settings: add message about Onboard Profiles to LED Zone settings
2024-04-19 16:05:29 -04:00
Peter F. Patel-Schneider
c4e2a5683a
device: initialize device registers to empty list
2024-04-19 16:05:29 -04:00
Peter F. Patel-Schneider
e667d41c7b
solaar: use bluez dbus signals to disconnect and connect bluetooth devices
2024-04-18 20:32:40 -04:00
Peter F. Patel-Schneider
d7ce636917
device: handle a different signal for onboard profiles directory in ROM
2024-04-15 14:40:50 -04:00
Peter F. Patel-Schneider
86bab897d1
receiver: introduce small delay in getting pairing information to let receiver settle after pairing
2024-04-15 14:40:50 -04:00
Peter F. Patel-Schneider
b616419f72
device: fix bug found in testing
2024-04-13 18:38:44 -04:00
Peter F. Patel-Schneider
269e970aa6
device: fix small bugs uncovered by testing
2024-04-13 18:38:44 -04:00
Peter F. Patel-Schneider
d6499808f9
device: fix bugs in onboard profiles found during testing
2024-04-13 18:38:44 -04:00
Peter F. Patel-Schneider
3855409605
device: fix bugs in hidpp20 found during testing
2024-04-13 18:38:44 -04:00
Peter F. Patel-Schneider
d12575b47d
tests: test GESTURES settings
2024-04-13 18:38:44 -04:00
Peter F. Patel-Schneider
e64eec18e9
tests: extend testing of hidpp20
2024-04-13 18:38:44 -04:00
Peter F. Patel-Schneider
b43cdace79
tests: expand tests for settings_templates
2024-04-09 10:31:06 -04:00
Peter F. Patel-Schneider
8de3a1d2e2
device: better support for extended ajustable dpi
2024-04-09 10:31:06 -04:00
Peter F. Patel-Schneider
ab94f1be07
device: limited support for extended adjustable dpi
2024-04-09 10:31:06 -04:00
Peter F. Patel-Schneider
c70e8b54bf
tests: remove unused code
2024-03-27 18:02:55 -04:00
Peter F. Patel-Schneider
afe04b9804
settings: remove unused code and fix but in EQUALIZER setting
2024-03-27 11:15:15 -04:00
Peter F. Patel-Schneider
f38fbcf949
settings: provide symbolic names for per-key lighting keys
2024-03-27 11:15:15 -04:00
Peter F. Patel-Schneider
4d0f93b35c
tests: improve infrastructure for testing setting_templates
2024-03-27 11:15:15 -04:00
Peter F. Patel-Schneider
1ed5f765e3
settings: implement and test per-key lighting
2024-03-27 11:15:15 -04:00
Peter F. Patel-Schneider
bd437b548b
ui: refactor pair_window
2024-03-25 09:13:22 -04:00
Peter F. Patel-Schneider
8ee291c144
settings: add in bit telling RGB effects changes to change ROM
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
1a874c39d7
settings: permit continuing when a read during pushing fails
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
e202e904b4
settings: add settings for RGB EFFECTS feature
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
c8288a6b69
settings: fix bug in LEDZoneSetting when effect is not implemented
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
c81809bd39
device: add RGB EFFECTS feature version of LED COLOR EFFECTS data
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
490493d7a3
device: handle BRIGHTNESS CONTROL notifications
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
3876f07d57
settings: implement and test BRIGHTNESS_CONTROL
2024-03-24 15:44:15 -04:00
Peter F. Patel-Schneider
4fd75a64ff
settings: fix small bugs found from testing
2024-03-24 07:02:39 -04:00
Matthias Hagmann
6f613b17c7
refactor: Manually improve f-string formatting
2024-03-24 07:01:56 -04:00
Matthias Hagmann
4e6361429e
refactor: Use f-strings for more exceptions and log message
...
Semi manually convert remaining strings with no translation to f-string.
2024-03-24 07:01:56 -04:00
Peter F. Patel-Schneider
d1d3d71091
settings: patch to make python 3.7 happy
2024-03-23 10:11:30 -04:00
Peter F. Patel-Schneider
17bbc9c4ea
settings: simple change to improve testability
2024-03-23 10:11:30 -04:00
Peter F. Patel-Schneider
47ba1402ed
device: use feature_request from the device everywhere in hidpp20
2024-03-23 10:11:30 -04:00
Peter F. Patel-Schneider
7d6428a03b
settings: fix bug in backlight 2 durations
2024-03-23 10:11:30 -04:00
Peter F. Patel-Schneider
ebc76bca24
tests: add tests for logitech_receiver device
2024-03-23 08:26:12 -04:00
Peter F. Patel-Schneider
480badbe8c
device: align init methods for all receiver classes
2024-03-16 16:24:33 -04:00
Peter F. Patel-Schneider
6164317a64
tests: improve hidpp20 coverage
2024-03-16 16:20:39 -04:00
Peter F. Patel-Schneider
dcd72b0178
device: fix bug in hidpp10 get_device_features
2024-03-16 16:20:39 -04:00
Peter F. Patel-Schneider
154dd7017f
rules: allow sub-second delays in Later
2024-03-14 17:08:47 -04:00
Peter F. Patel-Schneider
4e4275c281
device: remove unreachable code
2024-03-14 17:08:47 -04:00
Peter F. Patel-Schneider
d76eed85f6
device: fix bug in setting configuration cookie due to bad documentation
2024-03-14 17:06:17 -04:00
Matthias Hagmann
5b09ace1f5
ruff: Apply single line import format
...
# Usage
pre-commit run --all-files
Related #2295
2024-03-13 15:41:21 -04:00
Matthias Hagmann
e92f1a8a0b
Automatically upgrade strings to f-string
...
Used flynt to convert strings to f-strings, where safely possible.
Usage:
flynt .
Related #2372
2024-03-13 11:02:50 -04:00
Peter F. Patel-Schneider
b957217ea8
receiver: delay device sending first messages
2024-03-13 08:34:28 -04:00
Peter F. Patel-Schneider
4a89a79a4d
device: remove checks for status attributes
2024-03-12 13:11:49 -04:00
Peter F. Patel-Schneider
dfd3d10c2e
device: optimize some functions in FeaturesArray
2024-03-12 12:21:17 -04:00
Peter F. Patel-Schneider
0b599194d1
device: fix bug in creating features array
2024-03-11 15:20:39 -04:00
Peter F. Patel-Schneider
24223e77c7
device: fix bug in getting friendly name
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
9c5ba6445e
device: remove status from Device and Receiver
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
a1418cd834
device: move changed method from status to Device and Receiver
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
1fe2eab1a4
device: move link_encrypted from status to Device
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
15d425c365
device: move battery information from status to Device
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
0805ecb511
device: move status string function to Device and Receiver
2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider
87285faf7f
receiver: move pairing status to new dataclass attached to receiver
2024-03-11 08:23:27 -04:00
MattHag
0d225f6cb1
test: Test base product information
...
* test: Test base product information
Related #1097
* Fix dependencies for gi
2024-03-10 10:11:02 -04:00
Matthias Hagmann
7ec3eddccc
test: Extract get_kind_from_index function and test it
...
Pull get_kind_from_index from class to module level and add tests.
Related #1097
2024-03-10 09:20:39 -04:00
Peter F. Patel-Schneider
523628926b
device: use Python 3.7 type hints
2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider
135c8b8cb9
device: use status attribute for error
2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider
8154cd759f
device: use status attribute for notification_flags
2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider
6b3f09aa5d
device: use status attribute for link_encrypted
2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider
64d8cad81a
device: change status battery fields to Battery objects
2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider
3916c189be
receiver: move more method code to subclasses
2024-03-08 15:39:12 -05:00
Matthias Hagmann
4eb5a83326
receiver: create subclasses of receiver for different variants
...
Related #2350
2024-03-08 15:39:12 -05:00
Peter F. Patel-Schneider
51ef2a7fe2
device: add missing receiver type for Lightspeed receivers
2024-03-03 15:14:20 -05:00
Peter F. Patel-Schneider
de8fe3685d
device: add new device types
2024-03-03 15:14:20 -05:00
Matthias Hagmann
c3b6802373
refactor: Get receiver product info before instantiation
...
Related #2350
2024-03-03 10:38:46 -05:00
Matthias Hagmann
8f6e8eef4c
Refactor: Move Device instantiation to factory class
...
Related #2273
2024-03-03 09:32:42 -05:00
Matthias Hagmann
51e44052b0
Refactor: Move Receiver instantiation to factory class
...
Related #2350
2024-03-03 09:32:42 -05:00