Commit Graph

130 Commits

Author SHA1 Message Date
MattHag cba3533869 Remove factory wrapper classes
A module level function is sufficient, no wrapper needed.
2024-10-11 07:42:38 -04:00
MattHag ef6b7dec2c receiver: Remove hard dependency on base
With this test all receiver tests are macOS compatible again. The low
level interface supports passing a fake API for unit tests.
2024-10-11 07:42:38 -04:00
MattHag 1729189981 base: Add find_paired_node functions
Avoid direct access to hidapi and use the base module as low-level API
instead. This change replaces the remaining calls to find_paired_node
and find_paired_node_wpid by exposing them via base module.
2024-10-11 07:42:38 -04:00
MattHag 46fafa0e68 hidapi: Explicitly load hidapi/udev implementation
Linux uses udev, other platforms use the cross-platform hidapi
implementation. Remove implicit loading of hidapi in hidapi/__init__.py.
2024-10-11 07:42:38 -04:00
MattHag 99fc9c6fcb receiver: Remove hard dependency on hidapi 2024-10-11 07:42:38 -04:00
MattHag 615499dce2 device: Remove hard dependency on hidapi 2024-10-11 07:42:38 -04:00
MattHag 8fb087be14 logitech_receiver: Remove GDK dependency 2024-09-15 09:18:51 -04:00
MattHag 67829c5807
Clean up imports (#2537)
* Remove import as _ in solaar startup

Related #2273

* Remove import as _ in listener

Related #2273

* Remove import as _ in cli init

Related #2273

* Remove import as _ in gtk

Related #2273

* Remove import as _ in show

Related #2273

* Remove import as _ in tray

Related #2273

* Remove import as _ in profiles

Related #2273

* Remove import as _ in config

Related #2273

* Remove import as _ in config panel

Related #2273

* Remove import as _ in window

Related #2273

* Remove import as _ in pair

Related #2273

* Remove import as _ in pair window

Related #2273

* Remove import as _ in cli package

Related #2273

* Remove import as _ in ui package

Related #2273

* Remove commented out code

Related #2273

* Use constant for Logitech ID
2024-07-15 08:37:18 -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 c29231bc6b
refactor: Creation of devices (#2493)
* Refine interfaces for testability

* Reenable fixed device tests
2024-05-27 11:58:16 -04:00
Peter F. Patel-Schneider 37aa0963da solaar: don't ping device just to get logging information 2024-05-04 04:46:27 -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
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 4a89a79a4d device: remove checks for status attributes 2024-03-12 13:11:49 -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 87285faf7f receiver: move pairing status to new dataclass attached to receiver 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 8154cd759f device: use status attribute for notification_flags 2024-03-09 10:36:40 -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
Peter F. Patel-Schneider 14f19ceaaf solaar: cleanup listener code 2024-02-23 11:37:23 -05:00
Matthias Hagmann eb937fcc3a Manually fix linter issues
Related #2295
2024-02-20 15:41:10 -05:00
Matthias Hagmann 7774569971 Apply ruff format
Run ruff auto formatting using:
ruff format .

Related #2295
2024-02-20 15:41:10 -05:00
Peter F. Patel-Schneider 6f633efac5 ui: implement setting_changed callback and pass in to new devices and receivers 2024-02-20 06:19:23 -05:00
Matthias Hagmann e8fdbeee8e logitech_receiver: Move exceptions into own module
Related #1097
2024-02-20 05:58:33 -05:00
Peter F. Patel-Schneider 12de240949 device: improve imports in logitech_receiver
device: move imports of ui modules to beginning of files

logitech_receiver: remove imports from __init__.py
2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider d1c899d6da solaar: improve imports and guard Gtk, etc imports with correct version
solaar: move imports to top of files

solaar: move more imports to top of files

solaar: guard Gtk, etc imports with correct version
2024-02-18 06:21:35 -05:00
MattHag 87658fb189
logging: Simplify logger instantiation
* logging: Simplify logger instantiation

Relates #2254

* logging: Remove aliases

Relates #2254

* logging: Replace deprecated warn with warning

Related #2254

* logging: Fix mistake

Related #2257
2024-02-10 13:55:27 -05:00
Peter F. Patel-Schneider 28493f7496 ui: downgrade assertion on missing notification flag to warning 2024-01-30 08:02:25 -05:00
Peter F. Patel-Schneider 195e28ad76 gui: defend against lightspeed receivers that contact devices for basic information 2023-12-24 23:59:34 -05:00
Peter F. Patel-Schneider 4669cad2e1 ui: be more cautious when creating log messages to avoid exceptions 2023-11-19 12:04:02 -05:00
Peter F. Patel-Schneider 5657c1ac99 device: put initial ping of direct-connected devices inside listener thread 2023-01-16 08:44:56 -05:00
Peter F. Patel-Schneider 36e136b841 ui: retry adding devices if permissions are wrong 2022-12-17 13:28:11 -05:00
Peter F. Patel-Schneider fc1b72faa1 ui: better handling of IO errors at device creation 2022-12-17 13:28:11 -05:00
Peter F. Patel-Schneider e1e843346c solaar: fix tyop in ping_all 2022-11-30 15:21:59 -05:00
ejsc1 5656f90cdb
misc: update yapf version
* misc: update yapf version v2

* Update .pre-commit-config.yaml

Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2022-11-26 22:37:32 -05:00
ejsc1 0c7a9dd0a7
misc: update isort to current version
* Update .pre-commit-config.yaml

* Update solaar

* Update udev.py

* Update __init__.py

* Update gtk.py

* Update i18n.py

* Update listener.py

* Update icons.py

* Update notify.py

* Update hidconsole

* Update gtk.py

* Update icons.py

Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2022-11-26 13:58:46 -05:00
Peter F. Patel-Schneider 9e5eb5853e listener: check for presence of status attribute when resuming 2022-10-21 16:48:07 -04:00
Peter F. Patel-Schneider 3e90c3bc8a hidapi: process hid report descriptors to identify devices 2022-10-13 16:14:30 -04:00
Peter F. Patel-Schneider 4059b377b4 receiver: use last_id as maximum device number not max_devices 2022-08-20 20:12:48 -04:00
Peter F. Patel-Schneider b5e910916c solaar: defensive measure for partly set up receiver when notifications start 2022-05-04 10:54:03 -04:00
Peter F. Patel-Schneider bb20631a27 misc: remove support for Python 2 unicode 2022-04-11 13:20:42 -04:00
Peter F. Patel-Schneider 7d230a1f31 solaar: treat all DJ pairing notifications as only needing an informational message 2022-04-05 16:34:43 -04:00
Peter F. Patel-Schneider 3c4efb4ad5 ui: ensure that settings are pushed to all devices when resuming 2022-03-09 09:12:10 -05:00
Peter F. Patel-Schneider b7a1b81181 device: push settings when device requests software reconfiguration 2021-12-20 08:06:03 -05:00
Peter F. Patel-Schneider 886df1daaf receiver: add support for Bolt receiver (no pairing yet) 2021-11-11 10:48:12 -05:00
Hugo Osvaldo Barrera 6c4e0333d4 Drop legacy Python 2 `super()` syntax
This is a no-op on Python 3.
2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera 22bf4fafff Drop unnecessary __future__ imports
These are all active by default on all recent Python versions.
2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera b96d16672b Drop obsolete encoding declaration
This was only parsed in Python 2.
Python 3 only supports UTF-8 for source files, and that's what it uses.
2021-10-30 16:49:41 -04:00
Peter F. Patel-Schneider c1ce3c2c5f listener: ignore many notifications that come to a device listener 2021-10-28 12:49:20 -04:00