Commit Graph

1343 Commits

Author SHA1 Message Date
Peter F. Patel-Schneider 37bc1d7bd0 solaar: better formatting and cleanup of config.yaml 2022-04-10 16:35:08 -04:00
Peter F. Patel-Schneider d90ee945ab device: use int instead of str for setting keys 2022-04-10 16:35:08 -04:00
Peter F. Patel-Schneider e5b11ca2f9 solaar: use list for configurations and write in yaml 2022-04-10 16:35:08 -04:00
Peter F. Patel-Schneider 9a806a91de solaar: update code comment - not using UPower daemon 2022-04-06 17:56:58 -04:00
Peter F. Patel-Schneider 5aa02aa01d rules: fix problems when X11 is not available 2022-04-06 17:54:39 -04:00
Peter F. Patel-Schneider 371027c690 rules: remove process-dependent rules from built-in rules 2022-04-06 17:54:39 -04:00
Peter F. Patel-Schneider 74fe7d7920 cli: handle situation where GTK application cannot be set up 2022-04-05 16:34:43 -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
Bastien Nocera 46b9294d63 Stop listening to obsolete upower signals
The "Sleeping" and "Resuming" signals were removed from upower in 2013.
2022-04-05 07:50:51 -04:00
Bastien Nocera b3cfd0f762 Make APP_ID match real application ID
The application advertises itself as io.github.pwr_solaar.solaar through
its appdata file, so name the application this way too.

This fixes this warning in Flatpak:
Failed to register: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
2022-04-05 06:39:25 -04:00
Peter F. Patel-Schneider 693db1d541 cli: correctly set up register settings for config 2022-04-04 13:17:40 -04:00
Peter F. Patel-Schneider cba5368dad cli: use unitId to identify device if serial number not available 2022-04-04 13:17:40 -04:00
Peter F. Patel-Schneider 509c68ba05 misc: silence incorrect style complaints 2022-04-04 13:17:40 -04:00
Peter F. Patel-Schneider e3d62f5dca device: refactor device ID calls 2022-03-31 11:54:41 -04:00
Peter F. Patel-Schneider 4974989729 device: add mouse buttons for all bits in persistent remappable actions mouse button field 2022-03-31 11:49:40 -04:00
Peter F. Patel-Schneider 74da36725b settings: augment tooltips for M and MR key LEDs 2022-03-31 11:49:40 -04:00
Peter F. Patel-Schneider fc2b8accbf rules: handle missing libX11 more gracefully and document dependency 2022-03-31 10:06:30 -04:00
Peter F. Patel-Schneider d500642352 rules: graceful degredation when no keymap available 2022-03-30 12:02:52 -04:00
Peter F. Patel-Schneider 4100c83390 release 1.1.2 2022-03-26 11:52:06 -04:00
Peter F. Patel-Schneider 4e4ece278f settings: disable BACKLIGHT setting because it is causing errors 2022-03-26 11:52:06 -04:00
Peter F. Patel-Schneider fbe25b4b11 release 1.1.2rc2 2022-03-19 21:25:03 -04:00
Peter F. Patel-Schneider f935ff1d95 rules: reorder code in diversion.py 2022-03-19 21:09:45 -04:00
Peter F. Patel-Schneider 5e209dcfd9 rules: remove built-in testing rule for thumb wheel 2022-03-19 21:09:45 -04:00
Peter F. Patel-Schneider 3d82075773 rules: use relative scroll events for scrolling in uinput 2022-03-19 21:09:45 -04:00
Peter F. Patel-Schneider b5c6cf8d63 doc: add information on rules under Wayland and uinput permissions 2022-03-19 21:09:45 -04:00
Peter F. Patel-Schneider 6bddebd89b rules: try uinput for simulating input if Xtest not available 2022-03-19 21:09:45 -04:00
Peter F. Patel-Schneider b9c17474a4 rules: use uinput for simulating keyboard input 2022-03-19 21:09:45 -04:00
Peter F. Patel-Schneider a4afffe6c3 device: support C542 receiver for M190 mice 2022-03-19 17:42:59 -04:00
Peter F. Patel-Schneider 7e6ceb988a settings: add missing choices for backlight setting 2022-03-17 20:47:58 -04:00
Peter F. Patel-Schneider a034a0ea10 device: broaden range of bluetooth devices 2022-03-17 20:47:58 -04:00
Peter F. Patel-Schneider 6c02417037 ui: allow tray icon to scroll whenever at least two devices 2022-03-17 14:05:09 -04:00
Peter F. Patel-Schneider d115ade2ea setting: add setting to divert gestures 2022-03-16 20:22:25 -04:00
Peter F. Patel-Schneider 681a06d8d7 ui: print backtrace when errors occur during writing settings 2022-03-16 20:22:25 -04:00
Vinícius c53c77f427 ui: add support to Setting condition 2022-03-16 18:29:52 -04:00
Peter F. Patel-Schneider e628298c0a cli: make solaar config changes also take effect in solaar ui if running 2022-03-16 09:20:12 -04:00
Peter F. Patel-Schneider 019997f75c settings: add setting to disable Onboard Profiles 2022-03-13 10:29:00 -04:00
Peter F. Patel-Schneider 484b097664 settings: handle PERSISTENT REMAPPABLE ACTION for M720 mouse 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider 4c7f8c831b receiver: add and remove some HID Consumer Codes to conform with Linux usage 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider 3e6c92de70 docs: update for PERSISTENT_REMAPPABLE_ACTION and class-based settings 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider d646e18543 settings: add setting for PERSISTENT_REMAPPABLE_ACTION 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider 12ecef004e receiver: gather and show PERSISTENT_REMAPPABLE_ACTION information 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider 1deb6c34e4 receiver: add PERSISTENT_REMAPPABLE_ACTION to KeysArray classes 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider 3d87f418cf receiver: add USB consumer codes 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider e3788f3d1f receiver: add USB scan codes 2022-03-12 12:20:38 -05:00
Peter F. Patel-Schneider 4c683457f9 device: downgrade warning when devices don't echo requests for reprogrammable keys 2022-03-12 12:20:38 -05:00
Vinícius 588d7ae533 ui: add support to TestBytes 2022-03-10 21:04:28 -05:00
Vinícius f327e3ad38 logitech_receiver: split Test condition 2022-03-10 21:04:28 -05:00
Peter F. Patel-Schneider 6cdb2ea9eb settings: fix bug in speed-change setting 2022-03-09 15:29:43 -05:00
Peter F. Patel-Schneider 17a7b0689e settings: add BACKLIGHT3 setting template 2022-03-09 09:13:24 -05:00
Peter F. Patel-Schneider bc398a8720 device: add DFUCONTROL feature 2022-03-09 09:13:24 -05:00
Peter F. Patel-Schneider df2a68c29e settings: add Backlight setting template 2022-03-09 09:13:24 -05: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 124414063b device: reformat descriptors.py 2022-03-08 17:48:41 -05:00
Peter F. Patel-Schneider 7239e3d050 device: support G502 SE Hero mouse 2022-03-08 17:48:41 -05:00
Peter F. Patel-Schneider 71ac905d76 device: determine device number from protocol for direct-connected devices; add G9 Laser Mouse 2022-03-02 22:58:25 -05:00
Peter F. Patel-Schneider 862fd9c110 device: cut off noops even earlier 2022-03-02 05:30:22 -05:00
Peter F. Patel-Schneider 94ff454ace rules: fix Key conditions in built-in rules 2022-03-01 08:05:13 -05:00
Lukas Michel ce7dcf8326 add keysyms to the packages list 2022-03-01 06:27:35 -05:00
Peter F. Patel-Schneider 27752778ab ui: fix bug in add and delete button actions 2022-02-28 09:04:12 -05:00
Peter F. Patel-Schneider 1696733702 receiver: dispose of no-op notifications quickly 2022-02-27 11:59:54 -05:00
Peter F. Patel-Schneider 00176a1df8 rules: add rule condition for checking device settings 2022-02-27 08:24:05 -05:00
Peter F. Patel-Schneider eedf4bfffb rules: use local file for conversion from key names to keysyms 2022-02-27 08:21:52 -05:00
Peter F. Patel-Schneider 1869f57f7f rules: get keyboard group and use to get correct keycode for keysym 2022-02-27 08:21:52 -05:00
Peter F. Patel-Schneider 4c43910ed7 rules: use GDK to get current keyboard modifiers 2022-02-27 08:21:52 -05:00
Peter F. Patel-Schneider 3e2be09cb5 rules: partial implementation of rules under Wayland 2022-02-27 08:21:52 -05:00
Peter F. Patel-Schneider cb7845471c settings: add setting for MR-Key LED 2022-02-25 16:13:42 -05:00
Peter F. Patel-Schneider faf905de9c settings: add setting for M-Key LEDs 2022-02-25 16:13:42 -05:00
Peter F. Patel-Schneider 856f40e789 rules: fix bug in unpacking M and MR key notification 2022-02-25 16:13:42 -05:00
Peter F. Patel-Schneider c16b02e732 device: add G815 keyboard and MX518 mouse 2022-02-22 14:14:07 -05:00
Peter F. Patel-Schneider a94d00e418 device: add new special keys 2022-02-21 08:37:16 -05:00
Peter F. Patel-Schneider 561e9cbfea settings: Agument tooltip messages for several settings 2022-02-21 08:29:48 -05:00
Peter F. Patel-Schneider cf0a71913e rules: track M keys and MR keys for use in rules 2022-02-21 08:29:48 -05:00
Peter F. Patel-Schneider 69046678ac ui: default editable to True in show method 2022-02-16 21:14:52 -05:00
Peter F. Patel-Schneider e190ad39da cli: make sure device is on-line when searching for devices in solaar show 2022-02-16 11:08:39 -05:00
Peter F. Patel-Schneider c75aaea89d settings: don't check for mouse kind in dpi sliding setting 2022-02-14 13:37:06 -05:00
Peter F. Patel-Schneider 55be7a67c8 settings: get default DPI if current DPI is returned as 0 2022-02-14 13:37:06 -05:00
Peter F. Patel-Schneider f938d3430e cli: nicer output of settings in solaar show and solaar config 2022-01-24 21:12:55 -05:00
Peter F. Patel-Schneider fed9a26cb6 settings: fix bug in read method of action settings rw 2022-01-24 19:21:46 -05:00
Peter F. Patel-Schneider 13e4861043 settings: handle missing divert-setting in action RW 2022-01-24 14:03:17 -05:00
Peter F. Patel-Schneider 55a91f0ae4 device: add id property (unitId or serial) and don't use ? for unknown serial 2022-01-24 14:03:17 -05:00
Peter F. Patel-Schneider 7a9f9972a6 receiver: fix contains for NamedInts and eliminate use of has_element 2022-01-24 14:03:17 -05:00
Peter F. Patel-Schneider f6b25a9685 rules: check for xtest and disable modifier checking if not available 2022-01-24 11:21:09 -05:00
Peter F. Patel-Schneider 56936a4d0a device: better gesture structure computation 2022-01-24 11:17:40 -05:00
Peter F. Patel-Schneider 7442c52c20 rules: defend against problems when determining focus program 2022-01-24 11:17:40 -05:00
Peter F. Patel-Schneider 26aa1ee15f device: lock querying all unqueried keys to prevent two threads from doing the same work 2022-01-24 11:17:40 -05:00
Peter F. Patel-Schneider 22b99ecce7 device: lock computation of gestures and settings to prevent two threads from doing the same work 2022-01-24 11:17:40 -05:00
Peter F. Patel-Schneider a9c4950389 device: don't use class-shared structure for gesture indexes 2022-01-24 11:17:40 -05:00
Vinícius 25523315ab ui: fix tree row text when device contains options not in the full list 2022-01-24 11:12:04 -05:00
Vinícius 6f28a39a47 ui: fix choice field when device is connected 2022-01-24 11:12:04 -05:00
Vinícius 8be2ca110a ui: avoid conflicts when settings with the same name have different labels for the same number 2022-01-24 11:12:04 -05:00
Vinícius 2b26c9dc92 ui: do not accept numerical value typed by user 2022-01-24 11:12:04 -05:00
Vinícius c3e88001e4 logitech_receiver: add has_element to NamedInts 2022-01-24 11:12:04 -05:00
Vinícius 49f2c6d8b9 ui: fix bug that made setting values not appear 2022-01-24 11:12:04 -05:00
Vinícius bf8b861275 ui: don't show generic labels when specific ones are available for the same field 2022-01-24 11:12:04 -05:00
Vinícius 747d2e9c17 ui: show translated strings instead of internal names 2022-01-24 11:12:04 -05:00
Vinícius d6c2b30760 ui: show keys supported by device even if they are not in the known universe 2022-01-24 11:12:04 -05:00
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