Commit Graph

868 Commits

Author SHA1 Message Date
Peter F. Patel-Schneider 51ec36fef4 receiver: rationalize receiver information structure 2022-10-13 16:14:30 -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 afada652e8 receiver: add Dell receiver C535 2022-10-13 16:14:30 -04:00
Peter F. Patel-Schneider 67c1d7e778 settings: don't add non-existant key in raw xy processing 2022-10-13 16:00:15 -04:00
Peter F. Patel-Schneider 6a022f38ec devices: add special keys from MX Mechanical Mini 2022-10-13 16:00:15 -04:00
Peter F. Patel-Schneider 6b1e8f8a99 device: fix processing of HID++ 1.0 battery reports 2022-10-13 07:57:57 -04:00
Peter F. Patel-Schneider 8a3cbc5378 devices: add Logitech PRO Gaming Keyboard 2022-10-06 22:00:38 -04:00
Peter F. Patel-Schneider 55cc8ed5dc settings: add optional save argument to write_key_value methods 2022-10-06 22:00:38 -04:00
Peter F. Patel-Schneider a44a1c89de settings: clean up code in DivertKeys setting 2022-09-26 09:37:14 -04:00
Peter F. Patel-Schneider 0ce2fe8302 receiver: don't show normal DJ messages in debug log 2022-09-26 09:37:14 -04:00
Peter F. Patel-Schneider 9a89ef30d3 rules: fix bug causing repeated later execution 2022-09-26 09:36:46 -04:00
Peter F. Patel-Schneider 619223e8be rules: add Later action 2022-09-26 09:36:46 -04:00
Peter F. Patel-Schneider 7031f5338f device: correctly record battery feature when ADC MEASUREMENT produces error 2022-09-25 12:22:36 -04:00
Peter F. Patel-Schneider b2f9df965a device: use ADC notifications to set device inactive and active 2022-09-25 12:22:36 -04:00
Peter F. Patel-Schneider cdf3957180 device: add one to feature count to count ROOT feature 2022-09-25 12:22:36 -04:00
Peter F. Patel-Schneider 7663e204bb rules: don't check modifiers for KeyPress actions that are not clicks 2022-09-20 21:03:28 -04:00
Peter F. Patel-Schneider 4f061595e9 receiver: fix bug in printing closed threaded handle 2022-09-15 22:13:17 -04:00
Peter F. Patel-Schneider a1aa584b7e receiver: use only product records to determine whether receivers can unpair 2022-09-15 10:30:54 -04:00
Peter F. Patel-Schneider 5ed4c05db8 device: add conditional delay to apply all to get around race with Linux driver 2022-09-15 09:51:24 -04:00
Peter F. Patel-Schneider afaeb7fffb device: add G213 Prodigy Gaming Keyboard 2022-09-13 07:55:31 -04:00
Peter F. Patel-Schneider 27a46b2e62 settings: increase minimum stopped time betweeen mouse movements 2022-09-07 11:34:46 -04:00
Peter F. Patel-Schneider 002ca8bdcb rules: fix bug with non-recognized empty mouse movement 2022-09-07 11:34:46 -04:00
Peter F. Patel-Schneider 61caa94d75 settings: move rawXY patch to new code for both sliding dpi and mouse gestures 2022-08-29 11:38:12 -04:00
Peter F. Patel-Schneider 72dbf1c32f settings: ignore first movement for mouse gestures when reprog controls version is 5 or more 2022-08-25 09:55:56 -04:00
Peter F. Patel-Schneider 9f8882acd8 rules: add rule condition to test whether a device is active 2022-08-23 09:18:57 -04:00
Peter F. Patel-Schneider 7ab7bf6c1a rules: downgrade Set prolem messages from error to warning 2022-08-23 08:29:15 -04:00
Peter F. Patel-Schneider 95cbaeaba3 ui: don't produce warnings when editing rules in rule editor 2022-08-21 06:08:40 -04:00
Peter F. Patel-Schneider e164291e7a rules: save rules file even if there are no rules to save 2022-08-21 06:08:40 -04:00
Peter F. Patel-Schneider ca13e06519 device: get extended pairing information early and allow for unknown WPID 2022-08-20 20:12:48 -04:00
Peter F. Patel-Schneider 2fbaa4a3aa receiver: return null values if no pairing information available 2022-08-20 20:12:48 -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 76afec5c82
cli: show features versions in solaar show (#1709) 2022-08-20 12:34:15 -04:00
Peter F. Patel-Schneider d4d4574b3f device: don't use field that may require communication with device in equality test 2022-08-20 08:49:16 -04:00
Peter F. Patel-Schneider 58dde18f3c device: fix exception when removing device not in instance list 2022-08-20 08:49:16 -04:00
Peter F. Patel-Schneider 5b87ed31da device: add desccriptor for G935 headset 2022-08-10 12:11:48 -04:00
Ben Webb bad8a06cee device: add G502 Proteus Spectrum Optical Mouse 2022-08-09 10:23:31 -04:00
Peter F. Patel-Schneider e72c637667 device: keep track of feature versions 2022-08-07 09:42:40 -04:00
Peter F. Patel-Schneider a6f08b91aa rules: require gtk 3.0 2022-07-26 19:04:07 -04:00
Davide Cavalca 2229d64a7c
rules: Fix circular import (#1673) 2022-07-26 14:30:27 -04:00
Peter F. Patel-Schneider f291321f8b rules: find devices using method in Device 2022-07-26 09:28:17 -04:00
Peter F. Patel-Schneider 218f7c9620 device: keep track of devices in list 2022-07-26 09:28:17 -04:00
Peter F. Patel-Schneider 4349f4e154 docs: document changed Smart Shift and Mouse Gestures processing 2022-07-23 06:44:57 -04:00
Peter F. Patel-Schneider cacf94b6f7 settings: allow multiple keys for mouse gestures and dpi sliding 2022-07-23 06:44:57 -04:00
Peter F. Patel-Schneider 159bcfa173 device: use correct Solaar functions for unified and voltage battery functions 2022-07-15 13:53:54 -04:00
Peter F. Patel-Schneider ceaaaa917e settings: defensive check for missing keys array in mouse gestures setting 2022-07-10 11:08:28 -04:00
Peter F. Patel-Schneider eabf71e120 device: compute approximate charge level for adc measurement feature 2022-07-10 11:08:28 -04:00
Peter F. Patel-Schneider 2fd8068791 device: fix bugs in battery notification processing 2022-07-10 11:08:28 -04:00
Peter F. Patel-Schneider 4c126f417d device: add support for ADC MEASUREMENT battery feature 2022-07-10 11:08:28 -04:00
Peter F. Patel-Schneider 83eb836177 device: regularize and improve battery status gathering and reporting 2022-07-10 11:08:28 -04:00
Peter F. Patel-Schneider 4c54261f91 device: better warnings for feature call errors with reprogrammable key and gesture settings 2022-07-07 22:05:03 -04:00
Peter F. Patel-Schneider abb99a8d8e settings: handle unusual values for persistent remappable action 2022-06-29 09:56:14 -04:00
Peter F. Patel-Schneider c741b372e1 settings: remove unused class variables 2022-06-29 09:56:14 -04:00
Peter F. Patel-Schneider 2658fbba5a device: fix no-output values for persistent key mappings 2022-06-26 18:26:21 -04:00
Peter F. Patel-Schneider c8ba397e0e rules: add depress and release options to KeyPress rule action 2022-06-21 20:23:22 -04:00
Peter F. Patel-Schneider cc0ddb8df5 receiver: only close existing devices for receiver 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider 6b77de813f settings: correctly import pack 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider 5dc9be0a04 settings: differentiate debug messages for different setting types 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider ec0e304fdc settings: add sidetone and equalizer settings for headsets 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider 777a7138c1 settings: add packed ranges setting 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider f1e2a0c449 receiver: use built-ins for conversions between int and byte string 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider db9c065821 rules: don't add HI_RES wheel ecodes to evdev device codes 2022-06-16 09:16:57 -04:00
Peter F. Patel-Schneider 0d248c02ba settings: handle null key in persistent remappable actions when device does not respond 2022-05-28 10:11:18 -04:00
Peter F. Patel-Schneider 42faf0c3a0 device: consult polling rate feature for polling rate 2022-05-28 09:58:05 -04:00
Peter F. Patel-Schneider 15d383ad30 device: don't open second handle for devices 2022-05-28 09:58:05 -04:00
Peter F. Patel-Schneider 1b4a631597 receiver: close device handles when receiver is removed 2022-05-28 09:58:05 -04:00
Peter F. Patel-Schneider 50f0b6fc06 receiver: add ILLUMINATION feature number 2022-05-28 09:58:05 -04:00
Peter F. Patel-Schneider 0f68ef5a43 rules: use keys with only group 0 mapping from other keyboard groups 2022-05-23 10:43:57 -04:00
Peter F. Patel-Schneider 1c596a8124 rules: only one warning per inaccessible key for KeyPress action 2022-05-11 12:35:04 -04:00
Peter F. Patel-Schneider b717872557 device: add G502 Gaming Mouse 2022-05-11 09:18:09 -04:00
Peter F. Patel-Schneider 97344c4660 rules: better determination of keycodes and handle keysym level 2022-05-08 07:26:07 -04:00
Peter F. Patel-Schneider 97dca3d8f3 device: clear out fields for empty persistent remappable action 2022-04-30 08:10:52 -04:00
Peter F. Patel-Schneider 85bcfe7310 device: fix bug in feature lookup 2022-04-29 07:24:26 -04:00
Peter F. Patel-Schneider 5a103927ec settings: better ordering of settings 2022-04-27 19:34:09 -04:00
Sören Beye 4c46b1fcc2 device: add G533 headset 2022-04-27 12:05:31 -04:00
Peter F. Patel-Schneider fb74e3b657 settings: store None in persister for non-persisting settings 2022-04-26 09:03:20 -04:00
Peter F. Patel-Schneider 055c8776cc settings: keep trying settings that have worked 2022-04-26 09:03:20 -04:00
Peter F. Patel-Schneider 4459ea5342 device: improve device features handling 2022-04-26 09:03:20 -04:00
Peter F. Patel-Schneider fcddd94d7d common: add alternative way to initialize NamedInts and lower python dependency to 3.6 2022-04-20 17:14:08 -04:00
Peter F. Patel-Schneider 9ed76b24fb rules: fix bug in xtest mouse scrolling 2022-04-18 19:24:57 -04:00
Peter F. Patel-Schneider 9dfc69d336 settings: allow mouse gestures setting for non-mice (e.g., trackballs) 2022-04-15 09:21:08 -04:00
Peter F. Patel-Schneider e3bba623a4 settings: downgrade info message about detecting features to debug message 2022-04-15 09:21:08 -04:00
Peter F. Patel-Schneider 3ca97cccd1 settings: fix determination of whether to read before writing boolean setting 2022-04-15 09:21:08 -04:00
Peter F. Patel-Schneider cef531c7be settings: add diversion setting for hires scroll wheel and fix information about lowres scroll setting 2022-04-15 09:13:46 -04:00
Peter F. Patel-Schneider ffb9b2710b device: use isDevice, not kind, to distinguish between devices and receivers 2022-04-15 09:11:56 -04:00
Kian-Meng Ang 15b92a0f40
misc: Fix typos 2022-04-12 17:18:11 -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 d90ee945ab device: use int instead of str for setting keys 2022-04-10 16:35:08 -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 693db1d541 cli: correctly set up register settings for config 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 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 d115ade2ea setting: add setting to divert gestures 2022-03-16 20:22:25 -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 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
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 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 c3e88001e4 logitech_receiver: add has_element to NamedInts 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 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 b9a23f133e ui: hide unsupported settings/keys/values 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 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 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 12779e7061 device: add G733 headset 2022-01-22 09:51:36 -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
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 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
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 2ee04d89fd rules: fix crash in process conditions under non-X11 2021-12-24 21:04:43 -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 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 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
Ł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 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
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 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
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 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 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 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 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 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 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 e15ce68498 rules: process old mouse movement tests as MouseGesture conditions 2021-07-04 09:38:29 -04:00
ApeironTsuka 011f3f556b
rules: allow sequence of mouse moves as mouse gestures
* Add more robust mouse gesture support
- Remove existing mouse-* Test types
- Add new 'Mouse Gesture' Condition
- Implement Rule Editor UI for it
- Add support for diverted buttons
- Added diagonal mouse gesture directions

Allows you to chain multiple movements/buttons (for instance, moving the mouse up and then left) together into a single mappable gesture.

* Update docs

* Cleanup
Fix inconsistent indenting
Fix possible overwriting of built-in
Fix 'Mouse Gesture' Condition rule not starting with an initial Action field

* Make flake8 happy

* yapf

* Document no-op and make it more apparent

* Make changes to Mouse Gesture UI suggested/submitted by viniciusbm.

Co-authored-by: Apeiron <apeiron@none>
Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2021-07-04 08:52:38 -04:00
Peter F. Patel-Schneider 4690ca77c4 settings: fix fake divert gkeys read to return byte string 2021-06-15 19:03:43 -04:00
Robert Birkelbach d172d27408 Support logitech g pro x superlight
The title speaks for itself: Add support for the g pro x superlight.
2021-06-08 12:09:30 -04:00
Peter F. Patel-Schneider 67dbe5f4c8 device: convert HID++ 2.0 device kinds to enhanced HID++ 1.0 kinds 2021-06-04 08:59:39 -04:00
Peter F. Patel-Schneider 1c1be84e59 device: downgrade warning about removing missing notification handler to info message 2021-04-21 13:55:58 -04:00
Peter F. Patel-Schneider 98b5804a21 rules: turn several log messages from INFO to DEBUG 2021-04-20 07:58:41 -04:00
Peter F. Patel-Schneider 3969472dd3 settings: dpi sliding looks for suitable key 2021-04-18 07:36:29 -04:00
Peter F. Patel-Schneider 90bae7db84 settings: only produce warning if can't turn off DPI sliding 2021-04-18 07:36:29 -04:00
Peter F. Patel-Schneider a734a35b7e rules: add a mouse-noop test for mouse gesture with little movement 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider 7add22e861 settings: don't halt when trying to write invalid map choice 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider 75fec689a0 settings: change name of App Switch Button 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider 5d885f76e7 settings: show potential triggering keys for mouse gesture setting 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider 087b99a2de settings: use keys interface in divert_keys setting 2021-04-17 10:32:24 -04:00
Peter F. Patel-Schneider 95dafbe3aa settings: fix return value for mouse gesture callback 2021-04-15 17:00:29 -04:00
Peter F. Patel-Schneider f7488f67c1 settings: add mouse gesture handling 2021-04-13 09:26:24 -04:00
Peter F. Patel-Schneider a288caa7ee settings: fix typo 2021-04-12 08:08:31 -04:00
Peter F. Patel-Schneider 5be7541875 settings: for polling rate setting only change profiles mode when actually writing 2021-04-12 08:04:41 -04:00
Peter F. Patel-Schneider 52fcbe3b48 settings: restore _feature_hires_smooth_resolution 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider b34061c766 ui: add ability to ignore a Solaar setting 2021-04-12 07:39:35 -04:00
Peter F. Patel-Schneider 8c5800e536 receiver: use symbolic identifiers for sub-registers 2021-04-09 07:46:10 -04:00
gogogogi 804ba267f6 device: add G700 wired support 2021-04-09 07:43:54 -04:00
Peter F. Patel-Schneider 1d18e4d8f7 receiver: receiver c52e does not unpair 2021-04-09 07:24:11 -04:00
SiDevesh d3a18bb85f rules: match WM_CLASS also for process matching in rules 2021-04-08 15:01:50 -04:00
Peter F. Patel-Schneider 7e360e4416 settings: remove _feature_hires_smooth_resolution as recent Linux input drivers depend on it not changing 2021-04-04 22:36:54 -04:00
Peter F. Patel-Schneider a4b54df433 device: fix debug message error 2021-04-02 10:25:01 -04:00
Peter F. Patel-Schneider 985ebd46cd device: check device is active before performing request and don't replace empty settings 2021-03-30 08:36:37 -04:00
Peter F. Patel-Schneider 3fb197b78c device: set host names longer than 14 bytes 2021-03-29 11:43:30 -04:00
Peter F. Patel-Schneider cb67897d15 device: set current host name if not current host 2021-03-29 11:43:30 -04:00
Peter F. Patel-Schneider 533cd54b92 settings: add setting for SMART SHIFT ENHANCED feature 2021-03-26 15:55:59 -04:00
Peter F. Patel-Schneider a658f2e2b0 device: add names for 2250 and 2251 features 2021-03-26 15:55:59 -04:00
Peter F. Patel-Schneider 689d57d097 device: don't always use long messages for protocol 1.0 2021-03-22 08:35:34 -04:00
Peter F. Patel-Schneider 10233dac30 settings: add quirk to not set up host mode on G915 TKL keyboard 2021-03-07 22:02:49 -05:00
Peter F. Patel-Schneider 04d79810d4 cli: set keyed settings with config 2021-02-18 11:02:57 -05:00
Leonardo Gates c1a79a49f8 settings: implement polling rate 2021-02-17 07:58:30 -05:00
Peter F. Patel-Schneider 04775a3719 device: use long messages for all 2.0 requests 2021-02-16 20:20:33 -05:00
Equidamoid 8fccd84345
Log real exception when can't use Xorg API (#1066)
* fix: log real exception when can't use Xorg API

* chore: make linter happy
2021-02-08 18:55:10 -05:00
Peter F. Patel-Schneider 82a41bf46b device: show remaining pairings in show 2021-01-27 11:35:11 -05:00
Peter F. Patel-Schneider 111f2be5c8 device: defense against missing devices 2021-01-03 16:01:59 -05:00
Vinícius aa4456e9dc receiver: changing duplicate label of GESTURE 2 options 2020-12-17 12:18:22 -05:00
Peter F. Patel-Schneider a688bfd9ec settings: add setting to divert G keys and handle in rules 2020-12-13 22:24:08 -05:00
Peter F. Patel-Schneider 69f889e33f rules: only activate rules if X11 is running 2020-12-02 10:10:47 -05:00
Peter F. Patel-Schneider 52049af8e1 receiver: add remote device type 2020-11-30 08:18:09 -05:00
Peter F. Patel-Schneider 7d0402a97f rules: only use X11 code when X11 is available 2020-11-28 09:41:59 -05:00
Peter F. Patel-Schneider 0427e5607e settings: correctly handle diversions when key has other flags set 2020-11-27 17:38:38 -05:00
Peter F. Patel-Schneider 419a7722ad rules: make rule processing conditional on X11 being available 2020-11-27 10:48:16 -05:00
Peter F. Patel-Schneider 60afd53257 device: fix short name for MX Keys keyboard 2020-11-27 10:48:16 -05:00
Peter F. Patel-Schneider a99a5a544e rules: fix syntax in MouseClick 2020-11-27 10:12:21 -05:00
Peter F. Patel-Schneider 244d48d245 rules: remove use of pynput 2020-11-27 10:12:21 -05:00
Peter F. Patel-Schneider 808a719823 device: push device settings when device is active after suspend 2020-11-27 10:02:46 -05:00
Peter F. Patel-Schneider 646151ae61 receiver: reduce unnecessary writes of config file 2020-11-21 12:34:13 -05:00
Peter F. Patel-Schneider 66f3d5d02b receiver: gracefully handle more receiver and device disconnects 2020-11-21 12:32:33 -05:00
Vinícius 0b5c263799 receiver: fix and improve diversion load/save functions 2020-11-21 12:23:41 -05:00
Vinícius 1379da70a8 ui: add GUI for diversion rules (draft) 2020-11-21 12:23:41 -05:00
Vinícius 381371c899 receiver: add MouseClick diversion rule 2020-11-14 10:38:01 -05:00
Peter F. Patel-Schneider be590c154a docs: add documentation for rules processing and change name of rules file 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 30e4324906 receiver: associate source file with top-level rules 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 545db1f641 receiver: add named tests for hires and lowres wheels 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 5e2b2b6647 device: add quirk for WPID 4055 in button diversion 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider f3a276d7a3 receiver: add rule-based processing of diverted features 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 02a7d8cadd util: allow accessing NamedInts by readable name 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider 4da7feec3b receiver: regularize capitalization of Logitech CONTROL key names 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider f75c9845d2 settings: add setting for diverting keys 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider b947dd4896 settings: add crown diversion setting 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider ade9c816c7 receiver: add report_id to notifications and use where appropriate 2020-11-13 08:46:04 -05:00
Peter F. Patel-Schneider d92939135f device: warn when feature notifiation comes in before device fully set up 2020-11-02 08:27:08 -05:00
Peter F. Patel-Schneider 733bf913e6 device: implement UNIFIED_BATTERY feature
device: implement UNIFIED_BATTERY feature
2020-11-02 08:27:08 -05:00
Peter F. Patel-Schneider 1162ccb897 device: be defensive when getting device id 2020-11-01 15:14:18 -05:00
Wojciech Nawrocki 847205eb06 settings_templates: typo
Oops!
2020-10-25 14:03:05 -04:00
Peter F. Patel-Schneider b19006104f device: support unknown USB-connected and Bluetooth devices 2020-10-12 08:05:13 -04:00
Peter F. Patel-Schneider 7a7aad8977 device: use FRIENDLY NAME for codename if needed and available 2020-10-07 05:30:34 -04:00
Olivier Dormond 254e2cb77e device: add BT information for MX Keys 2020-10-03 09:10:59 -04:00
Peter F. Patel-Schneider fdb1b43373 device: add USB information for G700s 2020-10-01 17:45:49 -04:00
Peter F. Patel-Schneider 757c731610 device: show DPI values, not slider, in sliding notification 2020-10-01 12:48:11 -04:00
Peter F. Patel-Schneider 612e8fb4f7 device: store sliding DPI value in persister and respect changes in regular DPI setting 2020-10-01 12:48:11 -04:00
Peter F. Patel-Schneider 84e0e74709 device: add BT IDs for MX Master and MX Master 2S 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider ec8a51d353 udev: get manufacturer and product from HID_ID 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider 3b6a4ed0ed receiver: put USB and BT identifiers in descriptors.py 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider 815c9755b5 receiver: handle bluetooth-connected devices 2020-09-29 11:26:34 -04:00
Peter F. Patel-Schneider fc59c0fbf6 device: only look up feature notifications in SLIDING DPI setting 2020-09-28 14:47:43 -04:00
Peter F. Patel-Schneider 4874d72c16 receiver: fix bug in debug message 2020-09-28 14:47:43 -04:00
Peter F. Patel-Schneider e6cfd0a0c1 device: increase speed for DPI sliding 2020-09-28 12:59:04 -04:00
Peter F. Patel-Schneider ebf7984ad0 device: determine SLIDING DPI suitability based on device features 2020-09-28 12:59:04 -04:00
Wojciech Nawrocki 9f7c7209fe device: support DPI sliding with two slots on MX Vertical mouse
Reimplements the entire behaviour of Logitech's software for this
mouse on Windows.
2020-09-28 12:59:04 -04:00
Wojciech Nawrocki 362d43a7a1 backend: allow device objects to handle notifications 2020-09-28 12:59:04 -04:00
Peter F. Patel-Schneider df8b6b488c receiver: add USB information for MX Vertical when wired 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider b1d4b2f3cd receiver: add model and node ID and use in configurations 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider 58823763ea ui: handle wired devices 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider aeb8588e06 cli: make probe and config work for wired devices 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider ebfd26b3d0 receiver: add USB information for G502 Hero when wired 2020-09-23 18:03:47 -04:00
Peter F. Patel-Schneider dca6b4ba38 ui: show all host choices 2020-09-21 08:57:47 -04:00
Peter F. Patel-Schneider b1706fa9e2 ui: don't show unpaired host choices 2020-09-21 07:44:55 -04:00
Peter F. Patel-Schneider ff5d744183 ui: improve display strings and ordering for settings 2020-09-21 07:44:55 -04:00
Peter F. Patel-Schneider 8b5d56feb4 device: if hidraw node is not available wait and try a second time 2020-09-18 05:49:43 -04:00
Peter F. Patel-Schneider dbf6226f77 receiver: update strings for several settings 2020-09-18 05:49:43 -04:00
Alex Cherkayev 7a82b93aaf udev: add function to get wpid from udev
base: make workaround flag name more generic
descriptors: fix wpid's for 27Mhz devices
device: Improve wpid and kind processing for 27Mhz devices
notifications: Improve wpid generation for 27Mhz devices
docs: fix wpid's for EX100
2020-09-07 11:43:25 -04:00
Peter F. Patel-Schneider b0297694d1 receiver: remove spurious part of special handling for ex100 receiver 2020-09-01 23:13:49 -04:00
Vinícius 36e8dcb396 descriptors: added GESTURE2 to known supported devices 2020-09-01 18:38:00 -04:00
Vinícius 6994e1e41c receiver/ui: added labels and tooltips to some settings 2020-09-01 18:38:00 -04:00
Vinícius 1ce67954cb receiver: fixed number of spec "field widths" 2020-09-01 18:38:00 -04:00
Vinícius c8fe87ee2d receiver: implementation of GESTURE 2 params; improved UI for multiple toggle 2020-09-01 18:38:00 -04:00
Vinícius b3751913b2 receiver: read GESTURE2 param defaults 2020-09-01 18:38:00 -04:00
Vinícius 09394cfbf5 receiver: support GESTURE2 specs 2020-09-01 18:38:00 -04:00
Vinícius 7498febc3a receiver: GESTURE 2 also applies to mice 2020-09-01 18:38:00 -04:00
Vinícius 4a5c0ea523 receiver: initial implementation of boolean GESTURE 2 settings 2020-09-01 18:38:00 -04:00
Peter F. Patel-Schneider 633760e261 receiver: add initial support for GESTURE_2 2020-09-01 18:38:00 -04:00
Peter F. Patel-Schneider 831287ead6 cli: add full register dump for probe 2020-09-01 18:04:24 -04:00
Peter F. Patel-Schneider 718c2d4039 receiver: simplify settings interface 2020-08-28 08:41:14 -04:00
Peter F. Patel-Schneider 4df84107e1 receiver: don't emit warning for battery status notifications 2020-08-27 05:22:03 -04:00