Commit Graph
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
pullenrcandRyan Pullen 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 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