Josh Klar
f79e508566
fix(lint): lint all the things; be more flexible in boards dir
2021-06-20 13:59:59 -07:00
Josh Klar
eb41d704b0
fix(split): do not attempt to send HID from slave sides of split boards, resolves infinite hang after single UART send
2021-06-20 13:55:18 -07:00
Josh Klar
aeee945728
fix(keys): force gc collection in keys setup to reduce memory fragmentation, probably at cost of performance
2021-06-20 13:55:18 -07:00
Josh Klar
6f8eb425b1
fix: allow userspace setting of Split.debug_enabled
2021-06-20 13:55:18 -07:00
Gigahawk
6d5b99d78d
Dynamically create core key definitions as required ( #200 )
...
* Dynamically allocate keys as required
* Restore comments
* Run linter
* Move key definitions into a dict
* Revert "Move key definitions into a dict"
This reverts commit 49ac7c2e40
.
2021-06-20 13:55:18 -07:00
Josh Klar
66788c29ca
fix(split): now able to send a single keydown, but nothing else, from secondary parts of split boards
2021-06-20 13:55:18 -07:00
Kyle Brown
33408dc228
Lily58 works. Wired splits still don't
2021-06-20 13:55:18 -07:00
Kyle Brown
581d8e269b
update kmkpython and hack fix bug
2021-06-20 13:55:18 -07:00
Kyle Brown
e72d2b8c34
feat(extensions): most of the extensions implementation, by kdb424
2021-06-20 13:55:16 -07:00
Josh Klar
9821f7bcc3
Initial attempt to merge internal_state with kmk_keyboard. Seems to work on Plank so far
2021-06-20 13:53:39 -07:00
Josh Klar
54f4644b5c
fix(lint): fix all outstanding linter errors
2021-06-20 13:14:53 -07:00
Kyle Brown
015e0cdfd7
linter fix
2020-10-15 15:42:12 -07:00
Josh Klar
1b730cacf3
Merge pull request #180 from KMKfw/topic-rgb-animation
...
update RGB for more modern cpy versions
2020-10-14 22:07:30 -07:00
Josh Klar
dc598ad439
Merge pull request #167 from dzervas/ble_multimple_conns
...
BLE Multiple Connections
2020-10-14 22:04:29 -07:00
Josh Klar
1016dc552c
fix: everyone's linting; loosen one linter rule on user keymaps
2020-10-14 21:54:18 -07:00
Kyle Brown
80d95816e4
Switch to initiator/target
2020-10-13 11:07:08 -07:00
Kyle Brown
1a4e81a2e5
Remove GC. Not needed on newer Cpy versions
2020-10-13 10:58:18 -07:00
Kyle Brown
6e10babfbe
update RGB for more modern cpy versions
2020-10-09 22:43:37 -07:00
Dimitris Zervas
a6d36d57a7
Add multimple connection support
2020-10-01 23:02:05 +03:00
Dimitris Zervas
69f7c3c8c2
Remove some code from BLE
2020-10-01 23:02:05 +03:00
Kyle Brown
29373e9a37
delay imports
2020-10-01 12:53:05 -07:00
Kyle Brown
e225d8b1d6
Allows continuation of firmware if bluetooth can't be imported
2020-10-01 12:53:05 -07:00
Kyle Brown
fba97fc364
UART does in fact work
2020-10-01 12:41:18 -07:00
Kyle Brown
73b7464ec1
initial corne support on the nicenano
2020-10-01 12:41:18 -07:00
Dimitris Zervas
2cf64d8ce7
[ble] Add support to clear all current bondings
2020-09-29 19:35:49 -07:00
Dimitris Zervas
e5700eeb5f
[ble] Add support to change ble name from KMKKeyboard.go
2020-09-29 09:35:00 -07:00
Kyle Brown
18eeb4eadc
remove prints
2020-09-13 18:44:18 -07:00
Kyle Brown
6844654d39
Clearly a copy paste error
2020-09-13 18:44:18 -07:00
Dimitris Zervas
4d46653526
Fix formatting and make lab68 bluetooth
2020-09-13 18:20:58 -07:00
Dimitris Zervas
b082f26d9e
Fix typos in lab68 and add compatibility for MCP to matrix
2020-09-13 18:20:58 -07:00
Josh Klar
5096bb7e30
chore: formatting
2020-07-07 20:35:11 -07:00
Benjamin Dengler
2197dab6fa
Moved BLE functionality to its own module
2020-07-07 20:35:11 -07:00
Benjamin Dengler
1bd84e49aa
Added basic BLE implementation using Adafruit libs
2020-07-07 20:35:11 -07:00
Elvis Pfützenreuter
ed452084fe
Apply matrix_scanner attribute instead of fixed class
2019-08-06 19:17:01 -03:00
Josh Klar
666c0a4f08
Rename KeyboardConfig to KMKKeyboard - prepping for later merge with InternalState
2019-07-25 01:30:55 -07:00
Josh Klar
5da4555669
Fix isort ordering
2019-07-25 01:06:09 -07:00
Josh Klar
6baaf5e5d4
Continue to shuffle and burn stuff
...
- Remove the concept of "mcus". With only one target platform
(CircuitPython), it no longer makes a bunch of sense and has been kept
around for "what if" reasons, complicating our import chains and eating
up RAM for pointless subclasses. If you're a `board`, you derive from
`KeyboardConfig`. If you're a handwire, the user will derive from
`KeyboardConfig`. The end. As part of this, `kmk.hid` was refactored
heavily to emphasize that CircuitPython is our only supported HID stack,
with stubs for future HID implementations (`USB_HID` becomes
`AbstractHID`, probably only usable for testing purposes,
`CircuitPython_USB_HID` becomes `USBHID`, and `BLEHID` is added with an
immediate `NotImplementedError` on instantiation)
- `KeyboardConfig` can now take a HID type at runtime. The NRF52840
boards will happily run in either configuration once CircuitPython
support is in place, and a completely separate `mcu` subclass for each
mode made no sense. This also potentially allows runtime *swaps* of HID
driver down the line, but no code has been added to this effect. The
default, and only functional value, for this is `HIDModes.USB`
- Most consts have been moved to more logical homes - often, the main
or, often only, component that uses them. `DiodeOrientation` moved to
`kmk.matrix`, and anything HID-related moved to `kmk.hid`
2019-07-25 00:58:23 -07:00
Josh Klar
eb566b0f71
Remove two classes that havent been used in almost a year
2019-07-25 00:35:08 -07:00
Josh Klar
8c57844a22
Remove a ton of leftover MicroPython code and abstractions, including all of kmk.pins
2019-07-25 00:32:20 -07:00
Josh Klar
45cadc7e5a
CircuitPython-provided modules should be considered stdlib-equiv by isort terms. Apply this new rule.
2019-07-25 00:04:06 -07:00
Josh Klar
11a4604f88
Move our preload hacks out of keyboard_config into their own module. Isolate the ugliness
2019-07-25 00:03:35 -07:00
Josh Klar
38e8102532
Remove kmk.util by moving reboot/bootloader to their only use location
2019-07-24 23:45:50 -07:00
Josh Klar
02401e2ec0
Move kmk.util.get_wide_ordinal to kmk.handlers.sequences
2019-07-24 23:44:26 -07:00
Josh Klar
1eaf0e2c79
flatten_dict is no longer used, remove it
2019-07-24 23:43:39 -07:00
Josh Klar
ef1c69aa2c
Fix linting; move kmk.util.intify_coordinate to kmk.matrix.intify_coordinate (trying to deprecate/remove util)
2019-07-24 23:43:00 -07:00
Josh Klar
64267bdc5b
fix a totally unrelated bug
2019-07-24 23:15:57 -07:00
Josh Klar
aaeaa74a0c
Run black against source tree
2019-07-24 23:03:13 -07:00
Josh Klar
5c0c13e8d0
Prepare for Black autoformatting: dependencies, string staging, single-quote string override
2019-07-24 23:03:13 -07:00
Josh Klar
39220beddb
tag releases within the dists as well (for debugging, mostly)
2019-07-24 21:25:10 -07:00
Josh Klar
a51d11f6e6
A wild W504 linter error appeared! Fix those.
2019-07-24 21:25:10 -07:00
Josh Klar
1e9625ae0e
Rename "Firmware" to "KeyboardConfig" for clarity in main.py and to illustrate separation of KeyboardConfig/InternalState
2019-07-24 21:25:10 -07:00
Josh Klar
e8c3b5ac70
The CircuitPython "MCU" (misnomer now?) is generic anyway - name it as such
2019-07-24 21:25:10 -07:00
Josh Klar
d15aa65cc6
Kyle built a Gherkin handwire on Feather nrf52840! Unclean but works
2019-07-17 16:05:40 -07:00
Kyle Brown
004f40e7d2
Unbreak the fix
2019-07-17 16:05:40 -07:00
Kyle Brown
b6af43ef90
rgb animations perf
2019-07-17 16:05:40 -07:00
Josh Klar
c11984135a
looks like this is not needed, so save some bootup time
2019-07-17 16:05:40 -07:00
Josh Klar
76087749fb
Download more RAM (reword this in a rebase plz)
2019-07-17 16:05:40 -07:00
Kyle Brown
d07560513f
Fixed crash on debug when no Rgb was used, and unloaded LED and RGB when not used to save ram
2019-07-17 16:05:40 -07:00
Josh Klar
d34e8ce9d2
Re-add LED support
...
This reverts commit 5b069a0104
.
2019-07-17 16:05:40 -07:00
Josh Klar
350c2438ad
Disable GC on every cycle, too much lag
2019-07-12 16:54:38 -07:00
Josh Klar
17094a2988
Clean some code up; force GC on every cycle
2019-07-12 16:38:50 -07:00
Josh Klar
2947f81489
Remove pointless reversed_active_layers/active_layers difference
2019-07-12 15:31:27 -07:00
Josh Klar
1fe80fec92
Clean up and standardize print() debug stuff
2019-07-12 15:16:33 -07:00
Josh Klar
5b069a0104
Revert "Monocolor LED backlight added"
2019-07-07 15:35:15 -07:00
Kyle Brown
5532ffdcbf
Ready for merging
2019-06-21 17:28:30 -07:00
Kyle Brown
39b0b1e7f2
final commit before rebase
2019-06-21 16:51:01 -07:00
Kyle Brown
5158094549
Small changes
2019-06-21 16:49:00 -07:00
Kyle Brown
3f8c6e7648
Added support for user animations with docs
2019-06-21 16:49:00 -07:00
Kyle Brown
9d8682c866
Config changes and uses consts to save ram
2019-06-21 16:49:00 -07:00
Kyle Brown
86b8c4ffb0
New animation
2019-06-21 16:49:00 -07:00
Kyle Brown
bb198709f2
fix incorrect merge
2019-06-21 16:48:59 -07:00
Kyle Brown
efb642c374
Fix some issues if you don't define some things
2019-06-21 16:47:44 -07:00
Kyle Brown
1a06e0ed72
Renamed some things and added luddite layout for kdb424 and default
2019-06-21 16:47:44 -07:00
Kyle Brown
7ebf8d623f
Fix toggle
2019-06-21 16:47:44 -07:00
Kyle Brown
ec1a62e52d
Added static standby mode for performance.
2019-06-21 16:47:44 -07:00
Kyle Brown
0a06e733d2
Solved. Added uart buffer on the master to free up the uart bus buffer
2019-06-21 16:47:43 -07:00
Kyle Brown
e2413a3c25
Still dirty, but moved the problem to a better place. Still unrealistic to hit
2019-06-21 16:47:00 -07:00
Kyle Brown
a882ef2c38
Quick patch unrealistic face roll keyboard corruption
2019-06-21 16:47:00 -07:00
Kyle Brown
373ca8355e
Added MANY boards to supported list, and organized supported boards
2019-06-21 16:47:00 -07:00
Kyle Brown
54d63037bf
Added board definition for nyquist and add RGB and LED pins for nyquest and iris
2019-06-21 16:46:59 -07:00
Kyle Brown
f7a1d54752
Added LED support, cleaned up RGB docs
2019-06-21 16:45:04 -07:00
Kyle Brown
f65ea1e841
Added 2 more keys, stripped unused cruft, and added more docs.
2019-06-21 16:44:03 -07:00
Kyle Brown
3ae7432de0
Massive docs update
2019-06-21 16:42:53 -07:00
Kyle Brown
9fbad17ed4
code cleanup to pass lint and some for flake8
2019-06-21 16:42:12 -07:00
Kyle Brown
1751cce299
code cleanup to pass lint and some for flake8
2019-06-21 16:41:58 -07:00
Kyle Brown
ad3430eeb6
Needs docs, but code is ready for review probably
2019-06-21 16:38:41 -07:00
Kyle Brown
5334e7e0be
Massive hsv math fix and configs can be passed now for most things
2019-06-21 16:38:41 -07:00
Kyle Brown
2ad1fe8a9c
Massively improved, still not complete. Much easier to use now
2019-06-21 16:38:41 -07:00
Kyle Brown
31983a0873
Breathing now finally working, a key to enable it, not sane defaults, and a toggle button
2019-06-21 16:38:39 -07:00
Kyle Brown
0ba5911f8f
More animations, now based on time and intervals. Massively WIP
2019-06-21 16:37:53 -07:00
Kyle Brown
7a58ac041f
HSV functions added
2019-06-21 16:37:53 -07:00
Kyle Brown
4b033857b1
Initial RGB with test animation running automatically
2019-06-21 16:37:51 -07:00
Elvis Pfutzenreuter
dabed0061d
Add KC_APP ("Win menu") key
2019-05-31 00:36:42 -03:00
Josh Klar
c3ffb7b1ac
Merge branch 'master' into epx87
2019-05-20 15:54:10 -07:00
Elvis Pfützenreuter
41dc58e428
Make matrix scanner class configurable
2019-05-17 20:30:42 -03:00
Josh Klar
0b364cf7f1
Resolves #121 : Use flattened keymaps, which can visually represent the logical layout, rather than the physical wiring
2019-05-12 17:47:16 -07:00
Josh Klar
7fcd36f2fb
Refs #104 : Keyboard can work without REPL connected on >=4.0.0-alpha3 (tested only against single-piece boards so far)
2019-05-12 14:14:59 -07:00
Josh Klar
cf5ee5d4b2
Resolves an OverflowError in matrix scans (board-breaking)
2019-05-12 13:19:44 -07:00
Josh Klar
9dce78370e
Merge branch 'master' into topic-backspace-delete
2019-05-10 13:03:52 -07:00
Elvis Pfützenreuter
f9b56d82f7
Add cancel_timeout method
...
This method is useful when the keymap needs to use
state.set_timeout() and this timeout needs to be
cancellable.
Also, the set_timeout() now returns a timer handle.
2019-04-26 19:50:41 -03:00