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).
25 lines
540 B
Python
25 lines
540 B
Python
import sys
|
|
from logging import DEBUG
|
|
|
|
from kmk.firmware import Firmware
|
|
from kmk.micropython.pyb_hid import HIDHelper
|
|
|
|
|
|
def main():
|
|
from kmk_keyboard_user import cols, diode_orientation, keymap, rows
|
|
|
|
try:
|
|
firmware = Firmware(
|
|
keymap=keymap,
|
|
row_pins=rows,
|
|
col_pins=cols,
|
|
diode_orientation=diode_orientation,
|
|
hid=HIDHelper,
|
|
log_level=DEBUG,
|
|
)
|
|
|
|
firmware.go()
|
|
except Exception as e:
|
|
sys.print_exception(e)
|
|
sys.exit(1)
|