Commit Graph

1247 Commits

Author SHA1 Message Date
Vinícius 4d8b22f764 ui: replace typed text with key/value default display name 2022-01-24 11:12:04 -05:00
Vinícius 6dd980c541 ui: replace typed id with device display name 2022-01-24 11:12:04 -05:00
Vinícius 68e2b8ce6e ui: add support to choices_extra 2022-01-24 11:12:04 -05:00
Vinícius fa0ecc6c2c ui: add blank field to toggle widgets 2022-01-24 11:12:04 -05:00
Vinícius 573cb6e985 ui: fix - typed text was not recognised as valid 2022-01-24 11:12:04 -05:00
Vinícius 2d2d3e3bc6 ui: make key and value fields case-insensitive 2022-01-24 11:12:04 -05:00
Vinícius d80e34963b ui: make device field case-insensitive 2022-01-24 11:12:04 -05:00
Vinícius 0bce293017 ui: add support to multiple range in Set action 2022-01-24 11:12:04 -05:00
Vinícius 5c96d2d307 logitech_receiver: add support to multiple range in Set action 2022-01-24 11:12:04 -05:00
Vinícius 13dfac476b logitech_receiver: simplify param labels 2022-01-24 11:12:04 -05:00
Vinícius f5831cbda7 ui: build item with all sub-items for multiple range settings 2022-01-24 11:12:04 -05:00
Vinícius b9a23f133e ui: hide unsupported settings/keys/values 2022-01-24 11:12:04 -05:00
Vinícius a4e30a7190 ui: treat '?' identifier as unavailable 2022-01-24 11:12:04 -05:00
Vinícius aff80a7572 ui: fix error when key is set to None 2022-01-24 11:12:04 -05:00
Vinícius 9737a85c5a ui: fix errors when updating devices before widgets are filled 2022-01-24 11:12:04 -05:00
Vinícius cc3ec6d987 ui: clear keys and values after changing setting 2022-01-24 11:12:04 -05:00
Vinícius 4c4f8de040 ui: change Set rule editor layout 2022-01-24 11:12:04 -05:00
Vinícius 438bb9e034 ui: show a different icon if the user types an unknown 8-character hex string 2022-01-24 11:12:04 -05:00
Vinícius 29cd1109b1 ui: don't trigger widget updates when updating devices 2022-01-24 11:12:04 -05:00
Vinícius 6022c37325 ui: add device selector to Set rule editor 2022-01-24 11:12:04 -05:00
Vinícius 3947a4a083 logitech_receiver: fix minimum DPI 2022-01-24 11:12:04 -05:00
Vinícius 2eb6864cfb ui: sort by number if all values are numeric 2022-01-24 11:12:04 -05:00
Vinícius d2f44299f3 logitech_receiver: add range to AdjustableDpi 2022-01-24 11:12:04 -05:00
Vinícius ec9f1a94ea logitech_receiver: rename old DPI setting 2022-01-24 11:12:04 -05:00
Vinícius 29ff5e5924 logitech_receiver: add UnsortedNamedInts 2022-01-24 11:12:04 -05:00
Vinícius b36b070feb ui: make Set rule editor accept settings with the same name 2022-01-24 11:12:04 -05:00
Vinícius ca36d2bd1a settings: add choices to Multiplatform and validator class to RegisterDpi 2022-01-24 11:12:04 -05:00
Vinícius be4632f684 settings: fix type of choices 2022-01-24 11:12:04 -05:00
Vinícius 74fbec4209 settings: avoid circular import 2022-01-24 11:12:04 -05:00
Vinícius 8c32c2e63c ui: add new Set rules to rule editor (partial support) 2022-01-24 11:12:04 -05:00
Peter F. Patel-Schneider 1ace3ef4f4 ui: hide system tray icon when there are no devices to control 2022-01-22 09:57:28 -05:00
Peter F. Patel-Schneider 12779e7061 device: add G733 headset 2022-01-22 09:51:36 -05:00
Peter F. Patel-Schneider df8e936769 ui: use greyscale solaar icon in tray when using symbolic icons 2022-01-22 09:50:14 -05:00
Vinícius 136c351209 cli: accept name as key in `solaar config` 2022-01-22 09:37:44 -05:00
Vinícius b93b4f6bc3 cli: fix incorrect output of `solaar config` 2022-01-22 09:37:44 -05:00
Vinícius 2f702b7ca3 cli: fix bug in `solaar config` for multiple range settings 2022-01-22 09:37:44 -05:00
Vinícius 665b7b6194 logitech_receiver: fix bug that made `solaar config` not work 2022-01-22 09:37:44 -05:00
Peter F. Patel-Schneider 11fa025f1d settings: use classes for settings 2022-01-22 08:55:54 -05:00
Vinícius de5878d34e settings: also accept "Toggle" to be consistent with CLI 2022-01-16 13:38:56 -05:00
Vinícius 08eb8a06e3 cli: also accept "~" to be consistent with the new Set action 2022-01-16 13:38:56 -05:00
Peter F. Patel-Schneider 785675d469 ui: handle errors when writing to devices 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 2e94add3e3 ui: use classes for all config widgets 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 9e018fc5bf ui: use classes for several config widgets 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 8a87b9b013 rules: add Solaar rules command to set settings
testing
2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 5b1125cd11 cli: refactor config.py to create set(...) function 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 69b411fc27 ui: decrease amount of logging for each debug level 2022-01-13 18:23:12 -05:00
Peter F. Patel-Schneider 629afbd812 ui: use good battery icon down to 30% charge 2022-01-02 15:29:05 -05:00
Peter F. Patel-Schneider f7a0422956 ui: don't stretch toggles 2021-12-29 09:56:53 -05:00
Peter F. Patel-Schneider 65e64c1346 settings: use key structure for key remapping setting 2021-12-29 09:52:59 -05:00
Peter F. Patel-Schneider 9315b3fcdb receiver: optimize ReprogrammableKey in hidpp20 2021-12-29 09:52:59 -05:00
Peter F. Patel-Schneider cb14c2eec9 settings: keep track of settings that are absent from device 2021-12-29 06:12:05 -05:00
Peter F. Patel-Schneider 6d3d3e2086 device: add G512 keyboard and G402 mouse 2021-12-28 15:53:23 -05:00
Peter F. Patel-Schneider 85b4495443 device: reformat descriptors.py 2021-12-28 15:53:23 -05:00
Christian Tacke 49e9240be9
ui: Use GtkButton for the Lock Icon
Instead of GtkEventBox use GtkButton for the lock icons.

GtkEventBox does not have any visual feedback that it
actually can be pressed. As in: If you don't know that this
is an area for interaction it is not obvious.

Using Gtk.ReliefStyle.NONE on the GtkButton keeps the old
styling but still gives feedback when hovering over the
buttons.

Co-authored-by: Christian Tacke <8560110+ChristianTacke@users.noreply.github.com>
2021-12-28 12:27:03 -05:00
Peter F. Patel-Schneider 79606c530b receiver: use feature numbers for reprogrammable key versions 2021-12-26 11:21:48 -05:00
Peter F. Patel-Schneider aa8d2fcac4 ui: don't use new_from_icon_set for tray menu icons as it is deprecated 2021-12-26 10:32:59 -05:00
Peter F. Patel-Schneider 723959ba1c release 1.1.1 2021-12-25 12:29:15 -05:00
Christian Tacke d9dbf53868 Keep left Tree at Minimal Size
When resizing the window or switching entries in the left
tree, the width of the tree changes and takes more space
than required.

Switch it over to only take the minimal amount of space and
do not extend when resizing the window.
2021-12-25 12:19:29 -05:00
Peter F. Patel-Schneider 2ee04d89fd rules: fix crash in process conditions under non-X11 2021-12-24 21:04:43 -05:00
Peter F. Patel-Schneider 8ab062363e cli: add version to output of solaar show 2021-12-23 14:44:05 -05:00
Peter F. Patel-Schneider d5a6ef058a device: check for uninitialized protocol when pinging 2021-12-22 21:57:48 -05:00
Peter F. Patel-Schneider b86af20f67 release 1.1.1rc2 2021-12-21 09:05:04 -05:00
Peter F. Patel-Schneider 174d0388ca ui: display percentage estimates from battery voltage 2021-12-20 11:30:29 -05:00
Peter F. Patel-Schneider fa83e6ebb8 device: add descriptor for Logitech PRO X Wireless Gaming Headset 2021-12-20 09:17:07 -05:00
Peter F. Patel-Schneider c005a94a0a release 1.1.1rc1 2021-12-20 08:55:24 -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 3797c3926c settings: fix read for key/button diversion setting 2021-12-20 08:06:03 -05:00
Stephen Kitt 4505524006 share: Add modalias information for supported USB hardware 2021-12-18 12:35:44 -05:00
Peter F. Patel-Schneider c8ab8b4350 receiver: don't do on-screen notify for wireless device status notifications 2021-12-11 13:41:56 -05:00
Peter F. Patel-Schneider 292461c168 receiver: improve feature notification processing code 2021-12-11 13:41:56 -05:00
Unknown 306e6da7e9 settings : Smooth scroll for crown
* implemented a switch for swapping between smooth scrolling and ratchet for the crown
settings : Smooth scroll for crown
2021-12-06 12:22:01 -05:00
Peter F. Patel-Schneider 791f19269d settings: add write_prefix_bytes argument to Boolean Validator 2021-12-06 12:22:01 -05:00
Peter F. Patel-Schneider be2f0b809c receiver: sort receiver list and document status of receiver 0xC542 2021-11-30 13:55:50 -05:00
Peter F. Patel-Schneider 7242f3792c device: add special keys for MX Keys for Business and MX Keys Mini 2021-11-29 19:15:41 -05:00
Peter F. Patel-Schneider 07e55c188a ui: don't include separator after receiver in tray menu 2021-11-29 19:15:41 -05:00
Peter F. Patel-Schneider c515de9b09 ui: harmonize order of tray items and main window items 2021-11-29 19:15:41 -05:00
Peter F. Patel-Schneider adae5a2e2b ui: add option to specify use of explict tray icon files and their size 2021-11-29 17:54:31 -05:00
Peter F. Patel-Schneider f83c927a1e release 1.1.0 2021-11-26 12:20:06 -05:00
Peter F. Patel-Schneider ca5fd7e5d6 release 1.1.0rc3 2021-11-23 11:52:26 -05:00
Peter F. Patel-Schneider 4c9d9e17d6 gui: fix bug when adding new receiver to tray menu 2021-11-22 11:32:25 -05:00
Peter F. Patel-Schneider 025700f1be release 1.1.0rc1 2021-11-21 13:49:26 -05:00
Peter F. Patel-Schneider d8cce70a0c release 1.1.0rc1 2021-11-21 13:43:42 -05:00
Łukasz Woźniak 27cda8bf08 settings: add ability to toggle boolean values in solaar config
#1325
2021-11-15 08:50:45 -05:00
Łukasz Woźniak d33b407ba8 rules: don't select windows with no PID when looking for focus window
\#1322
2021-11-15 08:45:31 -05:00
Peter F. Patel-Schneider 4e8fb93b31 device: catch errors when applying settings 2021-11-11 11:03:30 -05:00
Peter F. Patel-Schneider 5acc216e12 receiver: use Bolt unique ID as serial number 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 4bc3799e96 cli: print Bolt receiver registers in solaar probe 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider c32a6ca91c receiver: get device codename from Bolt receiver registers 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 9823e5ab8a receiver: Bolt connection does not show encryption status 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 603fbe96e0 ui: add pairing for Bolt receivers 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 885cefb5b6 cli: add pairing for Bolt receivers 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 886df1daaf receiver: add support for Bolt receiver (no pairing yet) 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 2c3578a776 receiver: move receiver pairing information code from device class to receiver class 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider a96caea5e4 receiver: move receiver codename code from device class to receiver class 2021-11-11 10:48:12 -05:00
Peter F. Patel-Schneider 0df6acd67a ui: better code for adding devices to tray menu 2021-11-09 09:08:16 -05:00
Hugo Osvaldo Barrera 89d7490bf1 Remove redundant value
Opening read-only is the default.
2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera fdd6229179 Avoid unnecessary list allocation 2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera 93c4ebe758 Remove obsolete unicode prefix 2021-10-30 16:49:41 -04: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 cf28308a9f Simplify yield syntax 2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera df83fd655c Stop declaring `object` as superclass
This syntax was only required on Python 2 and has no effect on Python 3.
2021-10-30 16:49:41 -04:00
Hugo Osvaldo Barrera d6ba8e0b29 Stop using aliased Exception
IOError is now OSError. The old name is merely a legacy compatibility
alias.
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
Jocelyn Thode 8a2d92834f device: add support for the G914 TKL Keyboard 2021-10-28 12:49:20 -04:00
Jocelyn Thode 10d6a98ca1 device: add support for the PRO X Wireless mouse 2021-10-28 12:49:20 -04:00
Jocelyn Thode 138fe4c756 ui: fix device not always castable as bool 2021-10-28 12:49:20 -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
Peter F. Patel-Schneider 7873f3e8d0 receiver: handle more device connection protocols 2021-10-28 12:49:20 -04:00
Peter F. Patel-Schneider 5480321f49 device: add information for M500S 2021-10-23 23:16:48 -04:00
Peter F. Patel-Schneider f1d896ded3 settings: use new setting method for MOUSE GESTURE setting 2021-10-22 15:51:55 -04:00
Peter F. Patel-Schneider 2ca0bd9ac3 settings: use new setting method for DPI SLIDING setting 2021-10-22 15:51:55 -04:00
Peter F. Patel-Schneider 14c1eac79c settings: add setting for DPI CHANGE button to switch Sensitivity 2021-10-22 15:51:55 -04:00
Peter F. Patel-Schneider c763886248 ui: use file names for tray icon to not end up with small icons 2021-10-11 20:45:01 -04:00
Peter F. Patel-Schneider 116adf9959 ui: better computation of tray index when adding devices 2021-10-11 20:42:36 -04:00
Peter F. Patel-Schneider 453be19356 ui: make about and quit buttons more translatable 2021-10-01 12:35:33 -04:00
Peter F. Patel-Schneider 0fbeebf121 release 1.0.7 2021-10-01 07:06:28 -04:00
Peter F. Patel-Schneider 9fca203372 release 1.0.7rc3 2021-09-25 13:54:45 -04:00
Peter F. Patel-Schneider 1d73217ad2 receiver: mark Nano receiver C52F as not unpairing 2021-09-25 13:47:47 -04:00
Peter F. Patel-Schneider 585a3b901a receiver: lock on actual handle, not just on handle number 2021-09-24 21:55:15 -04:00
Peter F. Patel-Schneider 0d9fe48b0c listener: handle fake Nano connection notifications 2021-09-24 21:55:15 -04:00
Peter F. Patel-Schneider a9adc06b7a ui: correctly determine setting box in change_click method 2021-09-24 10:17:59 -04:00
Peter F. Patel-Schneider 27f6d6c76b settings: don't use time_ns so as not to require Python 3.7 2021-09-23 13:13:18 -04:00
Peter F. Patel-Schneider e82457f284 release 1.0.7rc2 2021-09-14 15:50:34 -04:00
Peter F. Patel-Schneider 6d56dd538e release 1.0.7rc1 2021-09-14 15:44:36 -04:00
Peter F. Patel-Schneider 338a2687d3 device: don't signal status change when battery changes from None to None 2021-09-14 11:51:48 -04:00
Peter F. Patel-Schneider c5ef207961 device: use first word of name for code name if friendly name not available 2021-08-31 19:05:57 -04:00
Peter F. Patel-Schneider c02a1b820b device: pass protocol to base request so that SW ID can be done right 2021-08-31 19:05:57 -04:00
Peter F. Patel-Schneider a7ddb3efdd cli: allow for new_fn_inversion call to fail 2021-08-31 19:05:57 -04:00
Peter F. Patel-Schneider 2f870fe0f7 device: allow for None reponse from kind request 2021-08-31 19:05:57 -04:00
kkrentz 3ef5e63cd4 Fix "'int' object is not subscriptable" on G613 2021-08-30 20:23:10 -04:00
Peter F. Patel-Schneider b94ae51ac8 rules: consistent naming for HID++ Diversion settings 2021-08-27 06:18:13 -04:00
Peter F. Patel-Schneider 67e40b35e8 device: add G102 mouse 2021-08-22 11:16:41 -04:00
Peter F. Patel-Schneider 30f56a1c0f device: use 0xFF instead of 0 for direct-connected devices 2021-08-22 11:16:41 -04:00
Vinícius 4b97ebd649 po/i18n: update pt_BR translation 2021-08-20 18:44:04 -04:00
Peter F. Patel-Schneider c2de1b59ef ui: use logging for signalling unfound udev rule 2021-08-18 10:01:22 -04:00
Peter F. Patel-Schneider 4e76c99e0f hid: add debug message when potential device found 2021-08-18 09:40:23 -04:00
Peter F. Patel-Schneider 14c2ac6959 po: make common button names translatable and show translations 2021-08-06 18:30:52 -04:00
Peter F. Patel-Schneider a1874c572b i18n: mark more strings as translatable 2021-08-06 13:41:22 -04:00
Peter F. Patel-Schneider ee4275f45c gtk: add new possible locations for udev rule 2021-08-06 13:41:22 -04:00
Peter F. Patel-Schneider 70a0fcd906 cli: show battery information under unified battery feature 2021-08-05 16:37:28 -04:00
Peter F. Patel-Schneider cdc7a27c9e rules: add rule condition for process under mouse 2021-07-22 10:46:31 -04:00
Peter F. Patel-Schneider 39a5350f30 settings: add binary read prefix to handle fancy fn-swap setting 2021-07-20 09:59:37 -04:00
Peter F. Patel-Schneider 538ab9c947 receiver: serialize requests per handle so that threads do not receive response for a different request 2021-07-17 13:58:20 -04:00
Peter F. Patel-Schneider d898edc4a3 notifications: downgrade unknown notifications warnings to info messages 2021-07-15 10:31:38 -04:00
Peter F. Patel-Schneider ed0b730e74 device: fix bug with timeout when setting reprog keys 2021-07-15 10:21:03 -04:00
Peter F. Patel-Schneider 50392da360 rules: add checks for empty process name and class 2021-07-15 10:16:16 -04:00
Karthik Nishanth 85a86ec3c5
diversion: implement pressed and released action on Key condition (#1189)
- Track `key_up` key in addition to `key_down`
- Support `pressed` or `released` action in `Key` condition
- Add radio button to KeyUI to represent `pressed` or `released`
2021-07-12 15:51:57 -04:00
Peter F. Patel-Schneider 6290c84efd rules: upgrade rule execution debug message to info message 2021-07-04 22:10:45 -04:00
Peter F. Patel-Schneider 3d65a77515 misc: better error message for missing gi package 2021-07-04 10:13:44 -04:00