Commit Graph

1668 Commits

Author SHA1 Message Date
Peter F. Patel-Schneider ce2de71b1b device: clean up device and receiver code 2024-02-22 09:57:02 -05:00
Peter F. Patel-Schneider 646ef2f596 device: move battery constants common to HID++ 1.0 and 2.0 to common 2024-02-22 09:57:02 -05:00
Peter F. Patel-Schneider 24ae9bacaa device: move mapping of device kind into hidpp20 2024-02-22 09:57:02 -05:00
Peter F. Patel-Schneider 4b33c119f6 device: move pairing information gathering to receiver 2024-02-22 09:57:02 -05:00
Peter F. Patel-Schneider fc8628c9c5 solaar: fix debugging levels 2024-02-21 16:06:22 -05:00
Peter F. Patel-Schneider 353c2dfb2f device: expand allowable profile numbers 2024-02-21 16:06:22 -05:00
Peter F. Patel-Schneider 8e44c08139 device: clean up __init__ in logitech_receiver 2024-02-21 16:06:22 -05:00
Peter F. Patel-Schneider 68b62a9ee4 device: fix bug in hidpp20 get host names 2024-02-21 16:04:32 -05:00
Peter F. Patel-Schneider af7806ed00 device: fix typo 2024-02-21 16:04:32 -05:00
Matthias Hagmann 04e709b00a Remove yapf exclusions
Related #2295
2024-02-20 15:41:10 -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 ce00a78e7f rules: fix bug in Set action 2024-02-20 11:16:40 -05:00
Peter F. Patel-Schneider 3f692c0fe2 device: add notify module to logitech_receiver 2024-02-20 08:35:19 -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
Peter F. Patel-Schneider ed248c62b9 device: add callback to call when changing a setting 2024-02-20 06:19:23 -05:00
Peter F. Patel-Schneider 476f41f8ae logitech_receiver: style fixes 2024-02-20 05:58:33 -05:00
Matthias Hagmann 5f487dd3b2 logitech_receiver: Move hidpp20 constants into new module
Related #1097
2024-02-20 05:58:33 -05:00
Matthias Hagmann 2fcab65486 logitech_receiver: Move hidpp10 constants into new module
Related #1097
2024-02-20 05:58:33 -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 fa9494435b device: streamline status code 2024-02-19 09:18:08 -05:00
Peter F. Patel-Schneider 50ddb54466 hidapi: upgrade debugging in udev 2024-02-19 09:16:56 -05:00
Peter F. Patel-Schneider 20a76fb4d3 device: improve features array 2024-02-18 08:21:09 -05:00
Peter F. Patel-Schneider ab9e06829a ui: move ui_async to common.py 2024-02-18 08:09:34 -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
Peter F. Patel-Schneider 17e6463950 ui: improve imports in ui
ui: move imports in about.py to top of file

ui: move imports to top of notify.py

ui: move imports to top of window.py

ui: reorder imports at beginning of __init__.py

ui: move imports to top of tray.py

ui: move common code out of __init__.py to common.py

ui: move imports to top of __init___.py
2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider ad6e3dc80e cli: move imports in __init__.py to top of file 2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider 31d795fcb8 device: improve imports in logitech_receiver
device: move some imports to top of modules

device: break up imports loop with device descriptors

device: break up imports loop by moving a function from notifications.py to setting_templates.py

device: break import loop between device.py and diversion.py by using device to access method
2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider 47f94a6a79 release 1.1.11 2024-02-18 05:59:47 -05:00
Peter F. Patel-Schneider 8dcb85ddb7 release 1.1.11rc4 2024-02-15 08:59:32 -05:00
Peter F. Patel-Schneider 8facd0cf68 dist: rename light icons and install them in correct place 2024-02-15 08:51:36 -05:00
Peter F. Patel-Schneider 1f954cd42e release 1.1.11rc3 2024-02-14 12:21:49 -05:00
Peter F. Patel-Schneider fb5b7e0582 ui: better checking for setting in record_setting 2024-02-13 04:01:19 -05:00
Matthias Hagmann ca24a93005 Fix invalid func name set logo name
Related #2254, #2276
2024-02-13 03:28:51 -05:00
Peter F. Patel-Schneider 438ea74dba release 1.1.11rc2 2024-02-12 18:22:03 -05:00
Peter F. Patel-Schneider e6aacc42dd ui: tidy up scrolling appearance in configuration panel 2024-02-11 16:50:31 -05:00
Peter F. Patel-Schneider 0f0de28e94 device: correctly handle profile button with no action 2024-02-10 14:45:00 -05:00
Peter F. Patel-Schneider 663490ea4b ui: don't unlock setting when changed by external means 2024-02-10 14:45:00 -05:00
Peter F. Patel-Schneider 468fad1358 ui: refactor code to record change to setting 2024-02-10 14:45:00 -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 8b1463c8f4 ui: update label and tooltip for divert-gkeys setting 2024-02-10 09:15:27 -05:00
Peter F. Patel-Schneider 26e0153fce ui: update label and tooltip for divert-gkeys setting 2024-02-10 09:15:27 -05:00
Peter F. Patel-Schneider 8811374ed9 ui: don't lock setting when an error occurs 2024-02-10 09:15:27 -05:00
Peter F. Patel-Schneider df9a5b7b19 cli: catch assertion errors when reading setting values from devices 2024-02-10 09:15:27 -05:00
Peter F. Patel-Schneider e8ef9a176d release 1.1.11rc1 2024-02-09 14:02:32 -05:00
Peter F. Patel-Schneider c8fc6990b5 device: remove dependency on webcolors 2024-02-09 13:45:41 -05:00
Peter F. Patel-Schneider 23517048d4 device: clean up data for LED effects 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 7c441cc652 ui: better startup behavior for LED effect settings 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 73d091c86f ui: add UI for LED Zone control 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 3328a6085f device: add settings for LED Zone control 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 15e14c2d48 device: add structures for LED control 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 532077d239 ui: add setting to change LED control between firmware and software 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 246f3cf798 device: handle v4 of profiles data 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 599a274410 device: better handing of unknown values in profiles 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 37383442f4 device: add version and device name to profiles 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 88f549f66c device: read profiles from ROM if none in Flash 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 1fcff028fe device: decipher LED control info in profiles 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 08fde28810 cli: report more information on exception when loading profiles 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 0548bde44f ui: handle onboard profiles notifications 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider 42c65e1e4d ui: upgrade onboard profiles setting to allow profile selection 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider fb30f4ee41 device: support onboard profiles 2024-02-07 18:48:22 -05:00
Peter F. Patel-Schneider fbad827d57 device: remove extra debugging for backlight 2024-02-06 12:49:08 -05:00
Peter F. Patel-Schneider 9c4bbec5e2 ui: handle backlight notification 2024-02-06 12:49:08 -05:00
Peter F. Patel-Schneider 72c5860a1e device: support backlight levels and duration 2024-02-06 12:49:08 -05:00
Peter F. Patel-Schneider 0f8e9b3c0f device: support bug in backlight on MX Keys S 2024-02-06 12:49:08 -05:00
Peter F. Patel-Schneider 06209d238a cli: no numbers for USB and Bluetooth devices 2024-02-04 14:20:52 -05:00
Peter F. Patel-Schneider 097736478d devices: override name of Candy Companion Chip 2024-02-04 14:20:12 -05:00
Peter F. Patel-Schneider a6f7507ce6 ui: use Report Rate instead of Polling for movement report rate 2024-02-01 10:13:03 -05:00
Peter F. Patel-Schneider db4e40e3ac device: add extended report rate setting 2024-02-01 10:13:03 -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 0db84f5aa4 rules: write empty file if there are no rules to save 2024-01-28 15:36:28 -05:00
Peter F. Patel-Schneider f8a462dbe5 cli: be defensive in device error message 2024-01-28 15:36:28 -05:00
Peter F. Patel-Schneider 05ec439ec0 udev: report hidraw node in debugging messages 2024-01-20 11:23:01 -05:00
Peter F. Patel-Schneider 9b32a1b195 device: add names for new Logitech features 2024-01-20 11:23:01 -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 9350300fd8 device: remove incorrect feature for M325 mice 2023-12-14 08:50:02 -05:00
Clement Cheung 4b2bb921b1 device: add K845 keyboard 2023-12-05 15:15:51 -05:00
Peter F. Patel-Schneider fa7606e242 rules: style fix 2023-11-28 16:45:34 -05:00
markopy 29ff35d553
Partial support for macOS and Windows (#1971)
* Add support for macOS via hidapi

* Style fixes

* Ignore keyboard and mouse input devices

* Don't require pyudev on mac and windows

* Fix debug log format error

* More logging for failed hidpp checks

* Don't try to load hid_darwin_set_open_exclusive on windows

* Bring back button for rule editor since some rules will work

---------

Co-authored-by: markopy <(none)>
Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2023-11-28 16:25:17 -05:00
Peter F. Patel-Schneider d9e5e33947 device: correctly enumerate devices on receiver 2023-11-23 11:18:08 -05:00
Peter F. Patel-Schneider 5ca1790cb8 ui: better handling and installation of icons 2023-11-19 12:06:04 -05:00
Peter F. Patel-Schneider b2eb039e2d device: catch errors when pinging to try to put device online 2023-11-19 12:04:02 -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 eb6bacaed1 cli: handle NoSuchDevice exception when pinging device 2023-11-19 12:04:02 -05:00
Peter F. Patel-Schneider ffd66e74c2 rules: fix test for device equality 2023-11-08 10:05:53 -05:00
FiveYellowMice 636bb07d1f NamedInt: return False on comparison with None 2023-11-04 13:27:50 -04:00
Peter F. Patel-Schneider 7706882a27 device: add support for MK550 2023-11-03 19:20:59 -04:00
Peter F. Patel-Schneider 0b6b98e0a7 device: add connection request failed error to expected ping responses 2023-10-07 11:36:00 -04:00
Peter F. Patel-Schneider b50b88be06 ui: update codename when device status changes 2023-10-06 16:17:47 -04:00
Peter F. Patel-Schneider 09938ebd05 release 1.1.10 2023-09-23 13:07:45 -04:00
Peter F. Patel-Schneider 5d6d675b4a release 1.1.10.rc3 2023-09-17 11:25:24 -04:00
Peter F. Patel-Schneider 38d5f8962c release 1.1.10rc2 2023-09-17 11:15:43 -04:00
Peter F. Patel-Schneider 485596cbf3 tools: permit BT devices for hidconsole with hidpp 2023-09-17 10:39:48 -04:00
Peter F. Patel-Schneider c77b2a413f device: add descriptor for Logitech MX Revolution Mouse M-RCL 124 2023-09-17 10:39:48 -04:00
Peter F. Patel-Schneider 37e303163c device: allow return device 00 for BT device ff 2023-09-17 10:39:48 -04:00
Peter F. Patel-Schneider 8537708ec2 device: improve determination of short or long messages 2023-09-17 10:39:48 -04:00
Peter F. Patel-Schneider a373a7d439 device: add descriptor for G500s 2023-09-16 10:35:26 -04:00
Peter F. Patel-Schneider 253930d628 tools: fix bug in scan-registers 2023-09-16 10:35:26 -04:00
Peter F. Patel-Schneider 90a0408bd6 rules: add single depress and release options for rule mouse click action 2023-09-16 10:28:56 -04:00
Peter F. Patel-Schneider fc38862e8b rules: add rule condition for hostname 2023-09-16 10:28:56 -04:00
Peter F. Patel-Schneider d3649b8011 tools: update keysym generation to current list of keysyms 2023-09-14 16:56:02 -04:00
Peter F. Patel-Schneider 8dd8c8b76f tools: allow device 0 in hidconsole 2023-08-12 14:51:31 -04:00
Peter F. Patel-Schneider d7bd55bdf1 device: upgrade messages when no supported device found 2023-08-02 20:34:27 -04:00
Swapnil Devesh 0e8e052629
Documentation update to mention the gnome extension to get rules working under Wayland (#2103)
* Documentation update to mention the gnome extension to get rules working under Wayland

* Updates

* Updates
2023-08-01 07:20:52 -04:00
Swapnil Devesh 91f1894e8b
Add support for process condition under wayland using solaar-gnome-extension (#2101)
* Add support for process condition under wayland using solaar-gnome-extension

* Fix typo

* Improvements

* Rename dbus extension

* Final fixes

* Fix style checks

* More styling fixes

* More fixes

* More fixes

---------

Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2023-07-26 06:53:57 -04:00
Peter F. Patel-Schneider c86d4be0fe hidapi: retry open several times with short wait to allow for delay in setting up permissions 2023-06-29 14:13:57 -04:00
Anderson Silva bf8c2b3d3d Update about.py
Update copyright date in about page to reflect current year (2023)
2023-05-30 15:32:52 -04:00
Peter F. Patel-Schneider 099e825298 device: add new ID for G733 Headset 2023-05-30 15:30:55 -04:00
Peter F. Patel-Schneider d56c7d5a06 device: add bluetooth keyboard C714 2023-05-19 07:14:10 -04:00
Peter F. Patel-Schneider fd9653fa33 tools: update scan-registers.sh to fix a bug and scan pairing registers 2023-05-19 07:14:10 -04:00
Peter F. Patel-Schneider 1447b15ef4 device: remove assertion on last byte of ping responses 2023-05-19 07:14:10 -04:00
Peter F. Patel-Schneider 5b1d542d79 device: when finding name or codename ping if not known to be online 2023-04-18 07:00:50 -04:00
Peter F. Patel-Schneider 46a06f3870 device: fix bug in decoding G keys notification 2023-04-13 09:59:11 -04:00
Peter F. Patel-Schneider bacc2c6c7a ui: put version in initial INFO logging message 2023-04-05 11:55:53 -04:00
Peter F. Patel-Schneider 4a9b46679c ui: rearrange code in tray.py 2023-04-05 11:55:53 -04:00
Peter F. Patel-Schneider dd7ec7e0bc release 1.1.9 2023-04-05 11:16:42 -04:00
Peter F. Patel-Schneider 3a563a18a6 device: add descriptior for EX110 keyboard 2023-04-05 11:12:56 -04:00
Peter F. Patel-Schneider 96b38bd6e3 release 1.1.9rc2 2023-04-05 11:12:56 -04:00
I7L0 dc4eb96f36
device: Add support for G535 wireless gaming headset (#2034) 2023-04-05 09:53:06 -04:00
Peter F. Patel-Schneider 078cded603 release 1.1.9rc1 2023-03-09 06:43:35 -05:00
Peter F. Patel-Schneider 04f2adfd75 ui: remove deprecated GTK code 2023-03-08 20:40:27 -05:00
Peter F. Patel-Schneider ee3f2652ba ui: zero exit code for kill interrupts 2023-03-02 07:57:26 -05:00
Peter F. Patel-Schneider 55865d13ad rules: add Test condition for battery charging 2023-02-25 19:25:43 -05:00
Peter F. Patel-Schneider 4f1ad33e39 device: get wpid for 28Mz devices from udev when enumerating 2023-02-21 10:25:30 -05:00
Peter F. Patel-Schneider 78341f87e9 ui: add editing of Device rule condition 2023-02-18 11:25:25 -05:00
Peter F. Patel-Schneider df746fd7f4 rules: add Device condition 2023-02-18 11:25:25 -05:00
Peter F. Patel-Schneider 57c0c5d4b3 ui: don't show wireless link or battery information when unknown or not present 2023-02-16 07:39:36 -05:00
Peter F. Patel-Schneider dcbf547195 ui: online devices with no battery information probably don't have a battery 2023-02-16 07:39:36 -05:00
Peter F. Patel-Schneider 85c1260ac6 device: add desccriptor for G9x 2023-02-16 07:39:36 -05:00
Peter F. Patel-Schneider d41c607188 receiver: fix bug in determining kind of devices for 27Mz receivers 2023-02-11 12:28:01 -05:00
Peter F. Patel-Schneider 39f6341a8f device: add descriptor for LX7 mouse 2023-02-11 12:28:01 -05:00
Peter F. Patel-Schneider 8c803b415e ui: ignore smooth scroll settings by default 2023-02-03 09:34:27 -05:00
Peter F. Patel-Schneider ff24947321 configuration: fix glitch when changing versions 2023-02-03 09:17:19 -05:00
Peter F. Patel-Schneider 6cbd45a1c0 rules: add more debugging output for rules 2023-02-03 09:12:59 -05:00
Peter F. Patel-Schneider 2890966b3f device: add descriptor for Illuminated Keyboard USB ID C318 2023-01-16 08:44:56 -05:00
Peter F. Patel-Schneider 0905ed5f43 device: clean up pinging code 2023-01-16 08:44:56 -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 79de531858 settings: read and check before write for range settings 2023-01-09 13:22:45 -05:00
Peter F. Patel-Schneider 14fd8efc9e ui: mention compatability and non-connection in pairing window 2023-01-09 05:20:16 -05:00
Peter F. Patel-Schneider ef0db31687 ui: improve determination of whether pairing possible 2023-01-09 05:20:16 -05:00
Peter F. Patel-Schneider 6b9c8cffef receiver: count found devices when enumerating them and cut off when all found 2023-01-09 05:20:16 -05:00
Matt Broadway 351e2268cd
config: remove derived fields from config file when Solaar version changes
* renamed variables

* Restructured configuration loading and ignore config generated by other versions

This fixes an issue where newer solaar versions may have better support for a
device which are not utilised because it is reading a configuration file
generated by an earlier version before support was added.

* fixed formatting

* discard only absent and battery

* discard name property as well

* do not discard name
2023-01-03 17:06:04 -05:00
Peter F. Patel-Schneider a51bcfb376 device: allow device descriptors without name and codename 2023-01-03 15:46:24 -05:00
Matt Broadway f8a6396cdf
ui: Filter and escape technical detail fields (#1953)
Since the values for the 'technical details' fields are arbitrary
some characters need to be filtered out for them to display properly.
markup characters such as < or > are now escaped and null characters
are removed.

Empty fields are no longer displayed in technical details.
2023-01-02 15:07:26 -05:00
Peter F. Patel-Schneider ab4226e292 settings: add setting for ADC power management 2023-01-02 11:37:32 -05:00
Peter F. Patel-Schneider 3974f1eb4e device: correctly determine whether to ping with a long HID++ message 2022-12-31 12:23:23 -05:00
vulpes2 eacbfbd178
device: add description for K470 keyboard from the MK470 combo (#1945) 2022-12-25 20:11:48 -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