* Add initial event manager implementation,
roughly mimicking Nordic's API.
* Add `position_state_changed` and
`keycode_state_changed` events.
* Hook up HID and keymap to new events
instead of using behaviour global event
crazy.
* Use extra comptible = "zmk,behavior-global" to add
behaviors to global bindings for event notification.
* Implement mod-tap, as a keymap binding and global one
to skip tap if other keycode pressed while held.
* Start of work of focusing on out-of-tree user keymaps.
Add ZMK_CONFIG support.
* General external configuration supported via ZMK_CONFIG,
which should point to a configuration directory.
* Priority order of overlay files to select.
* ${SHIELD}_${BOARD}.overlay
* ${SHIELD}.overlay
* ${BOARD}.overlay
* default.overlay
* Equivalent search order for .conf files for initial Kconfig
values.
* For now, to be used for FrankenKyria, where both
matrix halves will be attached to the same MCU, but
should be a stepping stone to proper split support
once we have a kscan driver over a split transport.
* Implement multiple instances for mock kscan driver.
* Properly allow includes for keymaps to allow defining
custom keycodes, and then adding them to the
keymap.overlay file.
* Fix keymap.c loading after build refactor.
* Fix for deactivating a layer working properly.
* Fix default keymap to put transparent in proper spots to
make raise/lower keycodes work as expected.
* Add custom raise/lower keycode handling to default
keymap.
* Move all headers to `include/zmk` directory.
* Update includes to reference them properly.
* Add `keymap.c` file from keymap, if found.
* Toplevel CONFIG_ZMK_BLE aggregate config setting.