Commit Graph

191 Commits

Author SHA1 Message Date
xs5871
178afdfeb1 implement multiple-choice for holdtap repeat 2022-10-14 08:25:44 -07:00
xs5871
91565b02ba replace modtap validator with parent holdtap validator 2022-10-11 15:43:39 -07:00
xs5871
17f2961c0b fix pystack exhaust during resume_process_key.
Instead of handling resumed key events in a deep stack, buffer them
until the next main loop iteration. New resume events that may be emitted
during handling of old resumes are prepended to that buffer, i.e. take
precedence over events that happen deeper into the buffer/event stack.
Logical replay order is thus preserved.
2022-10-08 13:36:00 -07:00
xs5871
565ec8353b continue/finish holdtap-repeat 2022-10-02 09:54:52 -07:00
Aldoo
5efd2688d7 Support for tap behavior autorepeat for modtap and layertap keys.
Faulty logic corrected

Possibly a bug could happen whenever entering ht_press with a non-empty key_state outside of repeat context (but can it really happen?)

Some formatting to make github tests happy

Documentation for repeat behavior.

Make the tests happy again!

same...
2022-10-02 09:54:52 -07:00
Anton K. (ai Doge)
891cd1a67f Add key coord combos
Added an option to use key coord in the matrix to make combos.
this allows to press / release combos regardless of layer and Key.
2022-09-20 08:04:57 +00:00
xs5871
0b4b98f5fb add debug info for holdtap key resolution 2022-09-15 08:57:14 -07:00
xs5871
1cb4bddce4 refactor combos: states instead of lists 2022-09-13 22:23:06 -07:00
xs5871
dafc969bf5 speed improvement in combo matching code 2022-09-13 22:23:06 -07:00
xs5871
f9203dbb85 fix stack exhaustion for certain hold-tap actions 2022-09-11 21:48:52 -07:00
xs5871
46cf7030a1 update and add docs to serialace 2022-08-31 18:25:07 -07:00
xs5871
737973c334 implement arbitrary code execution (ACE) over data serial. 2022-08-31 18:25:07 -07:00
xs5871
aee793a300 missed some pre_process to resume_process conversions 2022-08-31 18:22:52 -07:00
xs5871
ea94e9ba19 fix dependence on optional int_coord 2022-08-31 18:22:52 -07:00
xs5871
c95efbe8ea refactor handling of key processing resume to KMKKeyboard 2022-08-31 18:22:52 -07:00
xs5871
e71d1fcb6e fix crash on failing look-up 2022-08-31 18:22:52 -07:00
xs5871
9d555209b8 add continue-with-module-nr-idx to key processing 2022-08-31 18:22:52 -07:00
xs5871
ad6f4e5f05 fix mouse_keys not working at all 2022-08-05 14:39:57 -07:00
xs5871
5d2a42d9a9 fix trackball module forcing reports to zero 2022-08-01 16:46:53 -07:00
Salvatore La Bua
3d80e4aba8 Consistent variable naming
Signed-off-by: Salvatore La Bua <slabua@gmail.com>
2022-07-31 07:44:22 +00:00
Salvatore La Bua
4c93720a2f Lintfix (hopefully)
Signed-off-by: Salvatore La Bua <slabua@gmail.com>
2022-07-31 07:44:22 +00:00
Salvatore La Bua
cb83df25f0 Lintfix
Signed-off-by: Salvatore La Bua <slabua@gmail.com>
2022-07-31 07:44:22 +00:00
Salvatore La Bua
5ba865e4c6 Add ScrollDirection class for the Pimoroni Trackball
Signed-off-by: Salvatore La Bua <slabua@gmail.com>
2022-07-31 07:44:22 +00:00
Salvatore La Bua
f674ac6b13 Add reverse scrolling mode to the Pimoroni Trackball module
Signed-off-by: Salvatore La Bua <slabua@gmail.com>
2022-07-31 07:44:22 +00:00
kbjunky
a1d8a990f1 Update mouse_keys.py
Added check for USB enabled half in case of a split keyboard.
Cleaning of hid_pending state after sending.
2022-07-24 15:19:35 -07:00
xs5871
5a85c6cfb3 move validators and metas to their respective modules 2022-07-24 15:19:20 -07:00
James Fitzgerald
637991cedc Make suggested changes 2022-07-24 21:15:20 +00:00
James Fitzgerald
606780ee1c Remove unnecessary list check 2022-07-24 21:15:20 +00:00
James Fitzgerald
fe6510baec "not key in" -> "key not in" 2022-07-24 21:15:20 +00:00
James Fitzgerald
74563368c5 Fix key pressed before combo making combo wait for timeout 2022-07-24 21:15:20 +00:00
xs5871
3f3bd93109 implement global debug interface. 2022-07-22 09:21:30 -07:00
James Fitzgerald
25a86df5c1 Minor code cleanup
* Changed from multiple calls of `keyboard.remove_key` to a for loop when releasing modifiers on match
2022-07-14 10:29:25 +00:00
James Fitzgerald
8ab67052cf Rename to String Substitution 2022-07-14 10:29:25 +00:00
James Fitzgerald
521f991f2d Improve guarding against non-shift modifiers 2022-07-14 10:29:25 +00:00
James Fitzgerald
664a557483 Apply suggestions from code review
Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>
2022-07-14 10:29:25 +00:00
James Fitzgerald
50279f88fb Add keyboard event tests 2022-07-14 10:29:25 +00:00
James Fitzgerald
3db84528f2 Add informative error when illegal character is in user dictionary 2022-07-14 10:29:25 +00:00
James Fitzgerald
ab75b2bca3 Fix wrong quotes 2022-07-14 10:29:25 +00:00
James Fitzgerald
81f4f7ccf0 Bugfix for text replacement optimization 2022-07-14 10:29:25 +00:00
James Fitzgerald
103e51eb7f Improve comment clarity 2022-07-14 10:29:25 +00:00
James Fitzgerald
a5dc665ddc Optimize backspacing to only backspace characters that need to be backspaced rather than the entire word 2022-07-14 10:29:25 +00:00
James Fitzgerald
d8ca20c73c Code cleanup
* Refactor for improved readability
* Add docstrings and comments
* Add type annotations
2022-07-14 10:29:25 +00:00
James Fitzgerald
b17c73bac0 Replace double quotes with single quotes 2022-07-14 10:29:25 +00:00
James Fitzgerald
0392aa74e2 Fix for underscore in user dictionary causing KeyError 2022-07-14 10:29:25 +00:00
James Fitzgerald
9a3524d363 Implement Text Replacement module 2022-07-14 10:29:25 +00:00
xs5871
20705e2150 unit test fail may be caused by a stuck combo 2022-07-12 19:20:22 -07:00
Josh Klar
db395a81e4 fix(lint): kmk/modules/combos.py 2022-07-11 08:16:11 -07:00
Luke D Russell
9e29f4c442 Adds an alias for the LEADER keycode 2022-07-11 08:16:11 -07:00
Gleb Sabirzyanov
6fe2457d8e Rename encoder resolution to divisor 2022-07-08 11:03:01 +00:00
Gleb Sabirzyanov
ed41f4cda5 Fix formatting and comments 2022-07-08 11:03:01 +00:00