236 Commits

Author SHA1 Message Date
Christian Tu
f36a18513b remember pressed keys and release the same keys when the physical switch is opened, even if the layer has changed between key down and key up and a different key is now active for that matrix position 2021-09-17 16:16:59 +02:00
Jasper Chan
7601a6f21f Add QMK equivalent attributes of DiodeOrientation 2021-09-13 20:34:49 -07:00
Josh Klar
d3b315d059
Merge pull request #233 from Gigahawk/fix_send_string
Fix send_string (#206)
2021-09-14 03:09:47 +00:00
Jasper Chan
88e3fe45d4 Fix send_string (#206) 2021-09-13 19:54:08 -07:00
Kyle Brown
e77a0af23c add / to key names 2021-09-12 11:16:53 -07:00
pullenrc
15918db7ac
Encoder module! (#211)
* added atreus62 board

* Uploaded module for encoder support

* Update README.md


Co-authored-by: Ryan Pullen <rpullen@martinuav.com>
2021-07-19 08:30:28 -07:00
Josh Klar
083e4a701a fix(keys): fix shifted keys bug, make lazy key defs more readable 2021-07-09 11:21:00 -07:00
Josh Klar
ab6aa1838c chore: whatever it just took to get my PM2040 to boot 2021-07-09 11:21:00 -07:00
Kyle Brown
7310bdd780
add shorthand for KC_NO 2021-07-07 12:53:17 -07:00
Kyle Brown
a77fee7f04
Add shifted keynames to register unshifted versions 2021-07-07 12:53:17 -07:00
Kyle Brown
1a348f1539 docs and typos 2021-06-25 10:53:58 -07:00
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 49ac7c2e40f0222be63d1102b0584e0c15b085c2.
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