jonathan nifenecker
90c4ce99f3
[rgb] fix set_rgb_fill method
...
The code was wrongly iterating the neopixel, running `fill()` on every
individual pixels.
2022-06-08 08:47:02 -07:00
xs5871
400042f799
implement fast and late reset for combos
2022-06-05 16:32:25 -07:00
xs5871
229b7afcb0
implement faster combo activation
2022-06-05 16:32:25 -07:00
xs5871
d6659cd1a3
fix dangling reference issue
2022-06-03 08:46:43 -07:00
Cole Smith
ff3f7234d4
formatting
2022-05-28 12:05:36 -07:00
Cole Smith
b91974bce2
rgb matrix now can work out what side its on using the drive name
2022-05-28 12:05:36 -07:00
xs5871
08d3386643
fix KC.LM
2022-05-26 08:09:15 -07:00
xs5871
b6146365b3
fix crash on releasing dropped key presses
2022-05-23 15:59:52 -07:00
Cole Smith
42221f4a28
removed gc calls
2022-05-21 19:36:26 -07:00
Cole Smith
eb23ed0020
added peg rgb_
...
matrix code and docs
2022-05-21 19:36:26 -07:00
Steven Wilde
8d0b835c9c
Improved readability and finished renaming
2022-05-19 15:10:32 +00:00
Steven Wilde
a6e5ee1c08
Renamed to Dynamic Sequences
2022-05-19 15:10:32 +00:00
Steven Wilde
9a211f091a
Fix imports and quotes
2022-05-19 15:10:32 +00:00
Steven Wilde
55b06bba79
Added dynamic macros module
2022-05-19 15:10:32 +00:00
Cole Smith
2de044469f
missed text render call in boot up after refactor
2022-05-12 21:56:01 +00:00
Cole Smith
9b34fcd7ef
formatting
2022-05-12 21:56:01 +00:00
Cole Smith
6970a6c786
oled data is now a class
2022-05-12 21:56:01 +00:00
Cole Smith
7e760a2917
made changes from klardotsh's review
2022-05-12 21:56:01 +00:00
Cole Smith
ad43377a5e
why does it fix other things but not quotes
2022-05-12 21:56:01 +00:00
Cole Smith
44d27ef09a
black my bad
2022-05-12 21:56:01 +00:00
Cole Smith
caab7a4a15
added oleds and docs
2022-05-12 21:56:01 +00:00
John Morrison
c183bebb58
Conform class name case conventions
2022-05-08 20:10:41 +00:00
John Morrison
bea0f6d75b
Requested rename
2022-05-08 20:10:41 +00:00
John Morrison
12e7a1b42c
Class should be capital, use get rather than exception
2022-05-08 20:10:41 +00:00
John Morrison
73e95bfdde
Change to be an extension
2022-05-08 20:10:41 +00:00
John Morrison
9f964aba36
Allow strings in keymap. Replace with keys in keyboard _init cycle.
2022-05-08 20:10:41 +00:00
BigTuna94
a4d6a44a04
pythonify Potentiometer state
2022-05-06 20:29:39 -07:00
Zach Richard
b97fca7c76
remove unnecessary intermediate GPIOPotentiometer class
2022-05-06 20:29:39 -07:00
BigTuna94
9898a1ed73
fix formatting/sorting
2022-05-06 20:29:39 -07:00
Zach Richard
f119678ec7
simplify ADC readings
2022-05-06 20:29:39 -07:00
Zach Richard
003bb7d96a
switch back to averaging multiple ADC readings. More reliable.
2022-05-06 20:29:39 -07:00
Zach Richard
52b0ff5ca1
cleanup and fixes
2022-05-06 20:29:39 -07:00
BigTuna94
9b1976ec3e
add support for potentiometers
2022-05-06 20:29:39 -07:00
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
tonasz
9539f2dc74
Fix formatting
2022-03-23 21:16:09 -07:00
tonasz
3687212ed7
Split BLE background advertising
2022-03-23 21:16:09 -07:00
tonasz
d47143463b
Fix broken split BLE
2022-03-23 21:16:09 -07:00
Boot-Error
55a75cb9b3
fix: after_matrix_scan when board is the target
2022-03-23 21:00:51 -07:00
giovanniborella
4f7f3dcc3c
Implement easypoint
2022-03-20 15:22:57 -07:00
Kyle Brown
1863543428
fix comment
2022-03-20 11:04:15 -07:00
xs5871
5c33fd3a9f
implement combo/chord/sequence module
2022-03-14 19:27:12 -07:00
zyxwars
c46d18ecb7
fix wrong commit
2022-03-12 08:37:05 -08:00
zyxwars
2d005048cc
Temp fix del coord crash
2022-03-12 08:37:05 -08:00
illness072
3442a21835
Fix _find_key_in_map callings
2022-03-08 17:45:07 +00:00
donutcat
4d1f9e487e
Fix MIDI PR files
2022-03-06 00:56:05 -08:00
DonutCables
e52af4f58a
MIDI module and docs
2022-03-06 00:56:05 -08:00
xs5871
de1d602b25
fix tick overflow and implement periodic timer class.
2022-03-06 00:02:17 -08:00
xs5871
54ae022846
fix keypad matrix init and unguarded debug print.
2022-02-27 09:58:57 -08:00
xs5871
8cec85e3ec
base animation speed on system timer
2022-02-25 16:04:09 -08:00
Ellie T
2fce09986e
Adding Pimoroni Keybow and Keybow 2040
2022-02-20 18:42:38 -08:00
xs5871
ab7e0d3eb6
fix column flipping on rhs of split boards.
2022-02-20 13:55:37 -08:00
Jeroen Harkes
d26d397f10
Changed to single quotes
2022-02-20 12:10:04 -08:00
Jeroen Harkes
fd30b7a8d8
extension for indicating layer status with leds
2022-02-20 12:10:04 -08:00
Ellie
57ba0fe8b2
Custom matrix scanners
...
- Introduce Scanner base class for MatrixScanner
- Create new Scanner using built-in keypad module
- Allow overriding the scanner used by KMKKeyboard
2022-02-20 12:00:15 -08:00
Ellie T
2d4db12c46
Override LED creation in the RGB extension.
2022-02-19 22:27:31 -08:00
Rene Giovanni Borella
fb783c302c
fix formatting, run test
2022-02-19 21:33:45 -08:00
René Giovanni Borella
2096f1a950
Update kmk/modules/encoder.py
...
Co-authored-by: Tonasz <27835465+Tonasz@users.noreply.github.com>
2022-02-19 21:33:45 -08:00
René Giovanni Borella
a34272dd18
Update kmk/modules/encoder.py
...
Co-authored-by: Tonasz <27835465+Tonasz@users.noreply.github.com>
2022-02-19 21:33:45 -08:00
René Giovanni Borella
7f5ea97bba
Update kmk/modules/encoder.py
...
Co-authored-by: Tonasz <27835465+Tonasz@users.noreply.github.com>
2022-02-19 21:33:45 -08:00
René Giovanni Borella
7f7eaafbf3
Update kmk/modules/encoder.py
...
Co-authored-by: Tonasz <27835465+Tonasz@users.noreply.github.com>
2022-02-19 21:33:45 -08:00
Rene Giovanni Borella
8e4ab1d733
Encoder class rebuild
...
implement BaseEncoder
2022-02-19 21:33:45 -08:00
Rene Giovanni Borella
0e029ebf72
tests pass locally
2022-02-19 21:33:45 -08:00
Rene Giovanni Borella
f02ff1463a
reformatted for black
2022-02-19 21:33:45 -08:00
Rene Giovanni Borella
671aa60838
basic functions
2022-02-19 21:33:45 -08:00
xs5871
da3e87ee2d
convert matrix report from row/col byte array to linear key_number.
2022-02-19 18:01:33 -08:00
tonasz
7519a97eaa
Move pio_uart.py to transports folder
2022-02-16 17:59:59 -08:00
tonasz
8c0f8ccbc3
Fix pio_uart.py formatting
2022-02-16 17:59:59 -08:00
tonasz
fdf8e9f78c
Add RP2040 PIO UART implementation for split keyboards
2022-02-16 17:59:59 -08:00
xs5871
ee4cce32cb
implements oneshot/sticky keys.
2022-02-13 16:43:14 -08:00
xs5871
1c6b25517a
implement hold-tap interrupt for Layers
2022-02-13 14:47:02 -08:00
xs5871
a685618480
implement hold-tap interrupt on other key tap (i.e. release)
2022-02-13 14:47:02 -08:00
xs5871
5cae17c9f3
fix permanent hid_send
2022-02-13 14:47:02 -08:00
xs5871
7573556f33
fix hold-tap key interrupted by other hold-tap key
2022-02-13 14:47:02 -08:00
xs5871
f30206c7d5
implement per-key tap_time.
2022-02-13 14:47:02 -08:00
xs5871
21c058aaa8
add hold-tap interrupt behavior: prefer hold.
...
The interrupt resolution of hold-tap keys can now be set to resolve to
either tap or hold key. The default mod-tap is set to prefer hold.
2022-02-13 14:47:02 -08:00
tonasz
0f7afe5b2c
Add polling_interval to trackball
2022-02-08 13:23:35 -08:00
tonasz
119ab3d80a
Fix pimoroni_trackball.py formatting
2022-02-08 13:23:35 -08:00
tonasz
7fba42f28c
Small pimoroni_trackball.py refactors
2022-02-08 13:23:35 -08:00
tonasz
827862b34b
Pimoroni Trackball draft module
2022-02-08 13:23:35 -08:00
xs5871
f2aabd87cd
fix after rebase
...
fix after rebase
2022-02-07 16:25:45 -08:00
xs5871
65f48b53a4
remove out-of-scope reference
2022-02-07 16:25:45 -08:00
xs5871
cd4ba26e95
add a keycode for setting LED to a defined brightness
2022-02-07 16:25:45 -08:00
xs5871
967046587b
apply suggested changes
2022-02-07 16:25:45 -08:00
xs5871
4a83e6de85
code deduplication
2022-02-07 16:25:45 -08:00
xs5871
9e8b8376c5
implement led backlight for multiple pwm channels
2022-02-07 16:25:45 -08:00
patrickmcquay
aa01da7e1d
add checksum to split uart code.
2022-02-05 18:00:03 -08:00
patrickmcquay
1387cb2660
Update kmk/modules/split.py so that ble boards work with ee hands.
...
Co-authored-by: Tonasz <27835465+Tonasz@users.noreply.github.com>
2022-02-05 18:00:03 -08:00
Patrick McQuay
fa0062326b
changes from black
2022-02-05 18:00:03 -08:00
Patrick McQuay
be2bbce21a
fix some linting issues
2022-02-05 18:00:03 -08:00
Patrick McQuay
1c82f7d387
apply vylders fix and also figure out how to set _is_target correctly, as well as make it work nicely with ble.
2022-02-05 18:00:03 -08:00
Kyle Brown
9f373b4be0
Fix linter
2022-02-05 17:59:44 -08:00
xs5871
2874d49d20
disable hid_send on secondary split
2022-02-05 16:38:41 -08:00
pcharest2000
6ecb7807c2
Code refractor of private members, I am not python programmer, and final try to fix linting error after I quit
2022-02-05 16:37:51 -08:00
pcharest2000
99a9c6fd80
Tried to fix linting
2022-02-05 16:37:51 -08:00
pcharest2000
25fd205c3e
Implemented basice linear acceleration.... This makes it more usable, ill update if PR is accepted
2022-02-05 16:37:51 -08:00
xs5871
3e3255ffea
fix lock_status on secondary split
2022-02-05 07:29:01 +00:00
RT_GEN
55a6636741
Fixed multiple encoders not working
...
Multiple encoders didn't work as a result of an unbound value of 'idx', the loop counter in the during_bootup method. Binding this value has fixed the issue. This has been tested on hardware (6 encoders) and is confirmed working.
2022-02-05 07:28:02 +00:00
patrickmcquay
7fbda871c2
real fix for swallowing keys, use a buffer and only process one key at a time.
2022-02-04 08:37:19 -08:00
Patrick McQuay
c09cd48218
fix for dropping keys
2022-02-04 08:37:19 -08:00
Christian Tu
f90de872d8
fix bytearray.startswith not available in CircuitPython
2022-02-02 17:54:23 -08:00
Christian Tu
b6201d43d4
unit tests for execution in desktop dev environment
2022-02-01 00:48:23 -08:00