Commit Graph

385 Commits

Author SHA1 Message Date
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