97091ff4fd
This removes the need for the user to define... most things, honestly. Notably, `main()` is no longer the end user's responsibility. This also allows us to do fun stuff going forward like validating keymaps for sanity (ex: the key assigned to `KC_MO(x)` should be assigned to `KC_TRNS` on the target layer or the user will never be able to escape that layer). This also disambiguates `BOARD` to always refer to an actual slab of silicon, renaming to `USER_KEYMAP`. Entrypoints are now a bit more wild, and mostly-unsupported boards no longer have working entrypoints. It's probably just time to scrap those boards for now (until we have BLE HID and/or bitbang USB HID, at least).
30 lines
613 B
Python
30 lines
613 B
Python
import machine
|
|
|
|
from kmk.common.consts import DiodeOrientation
|
|
from kmk.common.keycodes import KC
|
|
from kmk.entrypoints.handwire.pyboard import main
|
|
|
|
p = machine.Pin.board
|
|
cols = (p.X10, p.X11, p.X12)
|
|
rows = (p.X1, p.X2, p.X3)
|
|
|
|
diode_orientation = DiodeOrientation.COLUMNS
|
|
|
|
keymap = [
|
|
[
|
|
[KC.MO(1), KC.H, KC.RESET],
|
|
[KC.MO(2), KC.I, KC.ENTER],
|
|
[KC.LCTRL, KC.SPACE, KC.LSHIFT],
|
|
],
|
|
[
|
|
[KC.TRNS, KC.B, KC.C],
|
|
[KC.NO, KC.D, KC.E],
|
|
[KC.F, KC.G, KC.H],
|
|
],
|
|
[
|
|
[KC.X, KC.Y, KC.Z],
|
|
[KC.TRNS, KC.N, KC.O],
|
|
[KC.R, KC.P, KC.Q],
|
|
],
|
|
]
|