mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-20 04:55:20 -05:00
9d5de4e9229ad363a54bbcab0a6a60b07d5f19f5
Zephyr Mechanical Keyboard (ZMK) Firmware
This project is a complete work in progress, with absolutely nothing functioning yet. The goal is to explore a new MK firmware with a less restritive license and better BLE support, built on top of the Zephyr Project
TODO
- Document boards/shields/keymaps usage.
- Move most Kconfig setings to the board/keymap defconfigs and out of the toplevel
prj.conffile. - Merge the Kscan GPIO driver upstream, or integrate it locally, to avoid use of Zephyr branch.
- Display support, including displaying BLE SC auth numbers for "numeric comparison" mode if we have the screen.
- Fix BT settings to work w/ Zephyr. Do we really need them?
- Tests?
Missing Features
- Consumer Key Support (play/pause, etc)
- Mod Tap
- One Shot
- Shell over BLE?
- Split support
- custom kscan driver? that recieves events from other side over BLE notifications?
- Need to figure out how to do "custom" GATT services. Custom UUID?
- Do we need to send any state updates over from primary to secondary side?
- Encoders
- Battery reporting.
- Low power mode, with wakeup from interrupt?
Long Term
- Tool to convert keymap
info.jsonfiles into a DTS keymap file? - Firmware build service?
Languages
C
96.5%
CMake
2.8%
Shell
0.5%
Python
0.2%