MattHag
81567a98df
hidpp20: Remove dependency to NamedInts
...
Replace ButtonBehaviors and ButtonMappingTypes with IntEnum.
Related #2273
2025-01-02 11:06:04 -05:00
MattHag
bd00cc97ad
Estimate accurate battery level for some rechargable devices ( #2745 )
...
* battery: Extract battery level estimation into function
Test battery level estimation with sharp edges based on predefined
steps. Rename variable for clarity and add type hints.
Related #2744
* battery: Interpolate battery level for some rechargeable devices in percent
Estimate remaining battery based on measured battery voltage. Use linear
interpolation to achieve a smooth line instead of 10 percent jumps.
Fixes #2744
2025-01-02 10:58:07 -05:00
Peter F. Patel-Schneider
3192fa1a34
testing: upgrade desktop notifications tests to take notifications availability into account
2025-01-02 10:47:53 -05:00
MattHag
9af67f0e1d
Update tests to run on Python 3.13
2025-01-02 10:47:03 -05:00
MattHag
382e0b6797
solaar: Remove outdated logger enabled checks
...
Logger enabled checks clutter the code unnecessarily. The checks are
now handled in a custom logger class. Eventually they can be completely
removed in the future.
Related #2664
2025-01-02 09:26:31 -05:00
MattHag
f5d80c30fa
solaar/ui: Remove outdated logger enabled checks
...
Logger enabled checks clutter the code unnecessarily. The checks are
now handled in a custom logger class. Eventually they can be completely
removed in the future.
Related #2664
2025-01-02 09:26:31 -05:00
MattHag
636f736765
solaar/cli: Remove outdated logger enabled checks
...
Logger enabled checks clutter the code unnecessarily. The checks are
now handled in a custom logger class. Eventually they can be completely
removed in the future.
Related #2664
2025-01-02 09:26:31 -05:00
MattHag
e9a58fb3e0
Introduce GTK signal types
...
Related #2273
2025-01-02 08:29:32 -05:00
MattHag
ab52c4a7c0
Introduce error types
...
Related #2273
2025-01-02 08:29:32 -05:00
MattHag
3bf8a85866
hidapi: Remove outdated logger enabled checks
...
Logger enabled checks clutter the code unnecessarily. The checks are
now handled in a custom logger class. Eventually they can be completely
removed in the future.
Related #2664
2025-01-02 08:23:09 -05:00
MattHag
d42524dec9
notification: Remove alias for SupportedFeature
...
Related #2273
2025-01-02 08:05:02 -05:00
MattHag
8894463f64
notification: Refactor process_device_notification
...
Simplify code and unify interfaces and type hints.
Related #2273
2025-01-02 08:05:02 -05:00
MattHag
15aaba2802
notification: Refactor process_receiver_notification
...
Remove repeated code pattern with generalized implementation. Aim
towards easy extension and code readability.
Related #2273
2025-01-02 08:05:02 -05:00
MattHag
fa3a9bc5b3
notification: Refactor receiver event handling
...
Split processing of receiver notification into smaller functions.
Extract handler functions for every receiver notification for simple
maintenence and testability.
Related #2273
2025-01-02 08:05:02 -05:00
MattHag
33c057feff
Introduce custom logger
...
Implement logger that internally checks if log level is enabled. Thus,
unnecessary log message computation costs are avoid, when logging is
disabled and logging code can be cut in half.
Related #2663
2025-01-02 07:56:46 -05:00
MattHag
810cda917a
Refactor notifications
...
Add type hints and reasonable variable names.
Related #2711
2025-01-01 13:48:14 -05:00
MattHag
64ac437b7f
Rename variable to full name notification
...
Related #2711
2025-01-01 13:48:14 -05:00
MattHag
207be464a5
Test notifications
...
Fixes #2711
2025-01-01 13:48:14 -05:00
MattHag
f28a923d15
receiver: Test extraction of serial and max. devices
...
Related #2273
2025-01-01 12:52:33 -05:00
MattHag
5e0c85a6d7
receiver: Refactor extraction of serial and max. devices
...
Related #2273
2025-01-01 12:52:33 -05:00
MattHag
800d3498f4
Update release notes: Add Bluetooth macOS support with 1.15
...
Related #2729
2025-01-01 11:55:10 -05:00
MattHag
918b584b95
macOS: Fix int.from_bytes, int.to_bytes for show.py
...
Related #2729
2025-01-01 11:55:10 -05:00
MattHag
83c380f85b
macOS: Remove udev rule warning
...
Warning about missing udev rules do not apply to macOS.
Related #2729
2025-01-01 11:55:10 -05:00
MattHag
fd17e47382
macOS: Add support for Bluetooth devices
...
Use hidapi on macOS to communicate and configure Logitech peripherals
connected via Bluetooth. This brings macOS device support on the same
level as Linux. However, some rules might not be supported yet on macOS.
Tested with MX Keys and MX Master 3S.
Fixes #2729
2025-01-01 11:55:10 -05:00
cameronaw13
88787ab705
settings: add back and forward mouseclick actions
2025-01-01 11:46:05 -05:00
MattHag
1a3f4dab36
Speedup lookup of known receivers
...
Refactor get_receiver_info. Replacing data structure of known receivers
to avoid for loop, when an efficient dictionary lookup is possible.
Related #2273
2025-01-01 11:33:07 -05:00
MattHag
3186d880fc
base: Refactor device filtering
...
Related #2273
2025-01-01 11:20:28 -05:00
MattHag
1e6af7fa7d
base: Reorder private functions and variable definitions
...
Related #2273
2025-01-01 11:20:28 -05:00
MattHag
5d86c74df4
base: Turn filter_products_of_interest into a public function
...
Related #2273
2025-01-01 11:20:28 -05:00
MattHag
5cf7cbfd5d
base: Improve tests of known receivers
...
Related #2273
2025-01-01 11:20:28 -05:00
some_developer
96364d2df3
Refactor InfoSubRegisters: Use IntEnum in favour of NamedInts
2025-01-01 10:46:04 -05:00
MattHag
378175f98f
Remove NamedInts: Convert DeviceFeature to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
72c9dfc50c
Remove NamedInts: Convert NotificationFlag to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
571cdb5f2d
Prepare refactoring of NotificationFlag
...
Ensure behavior stays the same.
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
5f5c7cdcce
Fixes on top of refactoring
2025-01-01 10:46:04 -05:00
MattHag
ad3916e1b8
Fix KeyFlag conversion
2025-01-01 10:46:04 -05:00
MattHag
6903eeefcd
Remove NamedInts: Convert LedFormChoices to enum
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
c9d7d7234a
charge status: Refactor to enum and move to module of use
...
The charge status is solely used in the hiddpp20 module, thus put it
into this module.
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
c34fd3c2b0
Remove NamedInts: Convert LedRampChoice to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
b19c886426
Remove NamedInts: Convert HorizontalScroll to enum
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
96c9cc2aa4
Remove NamedInts: Convert PowerSwitchLocation to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
d27f7285e0
Remove NamedInts: Convert MappingFlag to flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
5c736e9154
mapping flag: Move to module of use
...
The mapping flags are solely used in hiddpp20 module, thus put them into
this module.
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
7c91d0b2db
Remove NamedInts: Convert ActionId to enum
...
This data is not in use currently.
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
5ca9c0a6ba
Remove NamedInts: Convert Spec to enum
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
f54eeb7998
Remove NamedInts: Convert KeyFlag to Flag
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
0bf7a78553
Add type hints
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
267b0a723d
key flags: Move to module of use
...
The key flags are solely used in hiddpp20 module, thus put them into the
module.
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
5a9725ee17
Add type hints
...
Related #2273
2025-01-01 10:46:04 -05:00
MattHag
4c160d1723
Remove NamedInts: Convert Task to enum
...
Refactor code related to task and task ID.
Related #2273
2025-01-01 10:46:04 -05:00