Commit Graph

406 Commits

Author SHA1 Message Date
xs5871
51f07d8558 refactor tapdance on top of holdtap 2022-05-06 20:29:26 -07:00
xs5871
7af0e11f75 prepare layers for tapdance refactor 2022-05-06 20:29:26 -07:00
xs5871
385263e0e6 prepare oneshot for tapdance refactor 2022-05-06 20:29:26 -07:00
xs5871
00a484fa61 prepare modtap for tapdance refactor 2022-05-06 20:29:26 -07:00
xs5871
0751f6ca5f prepare holdtap for tapdance refactor 2022-05-06 20:29:26 -07:00
Steven Wilde
29abba63e7 Removed curr_event and simplified scan_for_changes 2022-05-04 16:40:48 +00:00
Steven Wilde
f2b8c7106e Move the changes to keypad.py 2022-05-04 16:40:48 +00:00
Steven Wilde
30252099cd Fix crash when typing quickly on a split board 2022-05-04 16:40:48 +00:00
John Morrison
6c2d64843b Align debug messages with method called 2022-05-02 16:50:54 -07:00
Syed Hussaini
609e275c03 doc updates based on the comments and refactoring 2022-05-02 21:02:40 +00:00
Syed Hussaini
660b751c87 review updates and renamed to Sticky Mod 2022-05-02 21:02:40 +00:00
Syed Hussaini
1b902b907c updates based on review comments 2022-05-02 21:02:40 +00:00
Syed Hussaini
bce7959f66 modholdandtap implementation 2022-05-02 21:02:40 +00:00
xs5871
62ff7c838d fix combo buffer replay /w layer-switch 2022-04-25 13:26:02 -07:00
John Morrison
bb8dec907a Clear cache rather than reassign, correct ALPHA case check and creation 2022-04-25 17:50:26 +00:00
John Morrison
6a7f5e285e Remove unused import 2022-04-25 17:50:26 +00:00
John Morrison
5eeb88e2b7 Minimum necessary to add index and get capability and tests 2022-04-25 17:50:26 +00:00
xs5871
c7eaeaf90c implement multiple pixelbuffer in rgb extension 2022-04-24 10:20:22 -07:00
xs5871
fb5ecf7e38 refactor debug output 2022-04-23 14:25:21 -07:00
xs5871
642790b2e7 remove keyboard.current_key (never actually used) 2022-04-23 14:25:21 -07:00
xs5871
e04a01c25e factor out module pre-processing 2022-04-23 14:25:21 -07:00
Ryan Rotter
27a0bc1977 refactor Key and ModifierKey __call__ methods
- Add tests for ModifierKey chaining
- Rewrite ModifierKey.__call__ for correctness and readability
- __call__ now maintains handlers and meta, like clone()
2022-04-22 09:10:40 -07:00
xs5871
7a51ce576f fixes scanner init and bi-directional communication in split module 2022-04-20 15:59:51 -07:00
John Morrison
4d297e6ab2 Typos 2022-04-18 13:28:26 +00:00
xs5871
1700aff408 implements scanner with rotaryio 2022-04-17 18:33:34 -07:00
xs5871
63973e4a6e fix late release of oneshot keys 2022-04-17 18:33:24 -07:00
xs5871
7ff77b97bb implement support for multiple scanners at once
fixup
2022-04-17 18:33:14 -07:00
Ryan Rotter
c7490087b6 Add ROPT and LOPT as alias for alt keys
Additional aliases for macOS key names to match QMK behavior
2022-04-16 17:09:47 -07:00
xs5871
d2e87b3e70 add keypad scanner for shift registers 2022-04-12 08:29:23 -07:00
xs5871
b3ec37e274 expose keypad options through scanner init 2022-04-11 18:26:43 -07:00
xs5871
175f0c6a97 introduce consistent naming scheme 2022-04-11 17:07:12 -07:00
xs5871
e395e89864 provide default coord_mapping from scanners 2022-04-11 17:07:12 -07:00
xs5871
8ac497d99b Make CPs keypad.KeyMatrix scanner the default. 2022-04-11 17:07:12 -07:00
levpopov
c880c02ad5 use keypad.Event instead of Matrix.KeyEvent 2022-04-10 14:30:45 -07:00
levpopov
89351fc203 Fix direct GPIO scanner for split keyboards
https://github.com/KMKfw/kmk_firmware/issues/372
2022-04-10 14:30:45 -07:00
Syed Hussaini
4b03ba846a formatted module with black 2022-04-09 15:19:02 -07:00
Syed Hussaini
be308d516f added docs 2022-04-09 15:19:02 -07:00
Syed Hussaini
c950785385 caps word implementation 2022-04-09 15:19:02 -07:00
xs5871
7431192e95 move old matrix to kmk.scanners.digitalio_matrix 2022-04-09 14:40:40 -07:00
Syed Hussaini
6002ad33e1 rename to cg_swap and added docs 2022-04-08 20:22:43 -07:00
Syed Hussaini
3f0283422d swapping control with cmd 2022-04-08 20:22:43 -07:00
sparksThefire
7b92596937 Fix WinCompose usage
WinCompose requires the `enter` key to be typed at the end of a special unicode character. In order to help print emojis and emoticons in a windows environment, I have added the enter key to the Windows compose unicode sequence method. I have tested this with my local keyboard.
2022-04-05 18:01:53 -07:00
xs5871
e5f89963cf fix pystack exhaustion caused by make_shifted_key.
This removes multiple layers of indirection, effectively making
`make_shifted_key` only as heavy on the stack as the reguler `make_key`.
2022-04-03 13:47:27 -07:00
xs5871
cc70c8f4a8 fix failing unit test.
During timeout processing, cancelations have to take immediate effect,
but new 0-delay timeouts have to be moved to the next cycle.
2022-04-02 10:06:27 -07:00
xs5871
07a485b04d implement stricter and more consistent timeouts.
- stricter timeouts: Instead of adding an entire millisecond, use a list
  of timeouts that are supposed to be handled on the same tick. This
  reduces the delay between target tick and actual tick, especially for
  many timeouts issued to the same tick, i.e. combos.
- consistent timeouts: Timeouts are now guaranteed to be handled in the
  order they were issued. Timer rollover is handled properly.

caveat / change to the interface: the returned `timeout_key` is a tuple
of the target timeout tick and the index of the timeout at that tick.
2022-03-31 16:13:32 -07:00
xs5871
d4e72b98c9 remove dependency on neopixel lib for custom pixelbuffers 2022-03-24 17:56:59 -07:00
xs5871
ea19f5bb30 convert hsv_to_rgb to faster 16bit fixed point 2022-03-24 17:56:59 -07:00
xs5871
24d0587ac6 code deduplication: use utils.clamp 2022-03-24 17:56:59 -07:00
yswallow
d12f9a18f1 avoid "Already advertising" error 2022-03-23 21:16:09 -07:00
yswallow
1a7d1d53f6 Enabling Completely Wireless
You can use SplitType.BLE and HIDModes.BLE at the same time
2022-03-23 21:16:09 -07:00