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`
This commit is contained in:
@@ -18,9 +18,7 @@ interface between end users and the inner workings of KMK. Let's dive in!
|
||||
some day.
|
||||
|
||||
- Import the `KeyboardConfig` object for your keyboard from `kmk.boards` (or, if
|
||||
handwiring your keyboard, import `KeyboardConfig` from the appropriate MCU for your
|
||||
board from `kmk.mcus`. See `hardware.md` for the list of supported boards and
|
||||
map this to the correct Python module under either of those paths.
|
||||
handwiring your keyboard, import `KeyboardConfig` from `kmk.keyboard_config`).
|
||||
|
||||
- Assign a `KeyboardConfig` instance to a variable (ex. `keyboard = KeyboardConfig()` - note
|
||||
the parentheses)
|
||||
@@ -37,6 +35,8 @@ if __name__ == '__main__':
|
||||
for example:
|
||||
|
||||
```python
|
||||
from kmk.matrix import DiodeOrientation
|
||||
|
||||
col_pins = (P.SCK, P.MOSI, P.MISO, P.RX, P.TX, P.D4)
|
||||
row_pins = (P.D10, P.D11, P.D12, P.D13, P.D9, P.D6, P.D5, P.SCL)
|
||||
rollover_cols_every_rows = 4
|
||||
|
Reference in New Issue
Block a user