my fork of the ZMK keyboard firmware for a Nice!Nano v2 based https://68keys.io/ build
Find a file
2020-05-25 21:33:21 -04:00
.vscode Refactor build/config/keymaps. 2020-05-18 09:11:46 -04:00
boards Clean up and implement MT release w/o mod press. 2020-05-24 23:13:33 -04:00
cmake Implement raise/lower for default keymap. 2020-05-18 13:42:41 -04:00
docs Initial work on basic documentation. 2020-05-25 21:33:21 -04:00
dts/bindings Add a mock kscan driver, working native_posix. 2020-05-24 18:22:16 -04:00
include Clean up and implement MT release w/o mod press. 2020-05-24 23:13:33 -04:00
src Clean up and implement MT release w/o mod press. 2020-05-24 23:13:33 -04:00
.gitignore Initial work. 2020-04-21 16:20:34 -04:00
.gitlab-ci.yml Small tweak. 2020-05-11 13:58:10 -04:00
CMakeLists.txt Add a mock kscan driver, working native_posix. 2020-05-24 18:22:16 -04:00
Dockerfile Remove locale tweaks. 2020-05-11 11:24:03 -04:00
Kconfig Initial exploration of mod tap action. 2020-05-24 19:25:46 -04:00
LICENSE Add LICENSE 2020-05-01 19:04:48 +00:00
prj.conf Initial exploration of mod tap action. 2020-05-24 19:25:46 -04:00
README.md Remove some kscan GPIO to-do items that are done. 2020-05-20 23:36:12 -04:00
west.yml Try using west.yml file instead. 2020-05-01 15:46:19 -04:00

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.conf file.
  • 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.json files into a DTS keymap file?
  • Firmware build service?