ZMK Firmware Fork to add Forgejo Workflow Support
Find a file
Andrew Childs 2a0fd6c426
Boot protocol support
Based on PR#1140 with several changes as described in this comment: https://github.com/zmkfirmware/zmk/pull/1140#issuecomment-1237655563

* Minimize the api changes for bluetooth by keeping
  zmk_hid_get_keyboard_report() and returning the .body like before.
* Keeping the logic about "full" vs "body" entirely within the usb code path.
* The endpoint now calls either zmk_usb_hid_send_keyboard_report() and
  zmk_usb_hid_send_consumer_report() instead of zmk_usb_hid_send_report(...).
    - These functions now internally dispatch on protocol to either
      zmk_hid_get_keyboard_report() or a new function for boot reports
      zmk_hid_get_boot_report().
    - There's a change here from the PR version in the behavior of get_report():
      when in boot protocol, don't include the report id. I believe this is
      correct, in that implicit boot protocol report descriptor does not use
      multiple reports, so any boot protocol report should not include the report
      id field.
* Use a single definition of a boot report, used for regular reports in
  non-6KRO, and for rollover in all branches.
* Handle gaps in the zmk report when producing a boot report in HKRO mode. For
  .example, if it was 8KRO, it would be possible to have the state 0 0 0 0 0 0 0
  17 (by pressing 8 keys, and letting go of the first 7). Copying the first 6
  bytes would not show up the single pressed key.
2023-11-11 14:59:02 +09:00
.devcontainer refactor: Move to updated Docker images. 2023-04-05 22:55:38 -07:00
.github feat: Print Kconfig and DTS for failed builds 2023-10-17 15:35:44 -07:00
.vscode fix: Don't specify default C formatter 2023-05-14 11:54:34 -06:00
app Boot protocol support 2023-11-11 14:59:02 +09:00
docs feat(blog): Add keymap editor post for spotlight series 2023-11-08 23:00:26 -08:00
schema refactor: Add more checks to pre-commit 2023-04-24 16:07:04 -07:00
.clang-format feat(ci): Run clang-format to check files. 2020-09-14 00:08:13 -04:00
.gitattributes fix: check out Bash scripts with LF 2020-10-10 17:43:52 -05:00
.gitignore add __pycache__ to gitignore now zmk contains python files 2020-11-21 14:47:01 -05:00
.pre-commit-config.yaml chore: Update Prettier 2023-04-24 16:07:04 -07:00
AUTHORS Add KemoNine to authors per PeteJohnson 2020-12-07 07:07:45 -05:00
CODE_OF_CONDUCT.md refactor: Move to new zmk.dev domain name. 2021-06-10 09:27:57 -04:00
CODEOWNERS chore: Initial simple CODEOWNERS. 2021-01-13 20:59:11 -05:00
CONTRIBUTING.md fix: basic setup link 2021-08-12 19:12:30 -05:00
LICENSE Updated copyright line. 2020-06-22 05:47:20 -04:00
README.md fix(docs): Fix README punctuation and add license link 2023-07-17 15:23:22 -07:00

Zephyr™ Mechanical Keyboard (ZMK) Firmware

Discord Build Contributor Covenant

ZMK Firmware is an open source (MIT) keyboard firmware built on the Zephyr™ Project Real Time Operating System (RTOS). ZMK's goal is to provide a modern, wireless, and powerful firmware free of licensing issues.

Check out the website to learn more: https://zmk.dev/.

You can also come join our ZMK Discord Server.

To review features, check out the feature overview. ZMK is under active development, and new features are listed with the enhancement label in GitHub. Please feel free to add 👍 to the issue description of any requests to upvote the feature.