zmk/app
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
..
boards refactor: Update boards/shields for encoders. 2023-11-03 12:35:25 -07:00
cmake refactor: Replace tabs with spaces 2023-04-24 16:07:04 -07:00
dts refactor(behaviors): Final global-quick-tap deprecation. 2023-10-03 01:12:47 -07:00
include Boot protocol support 2023-11-11 14:59:02 +09:00
module fix(driver): Fix broken compilation for MAX7318 driver 2023-09-28 12:19:14 -04:00
scripts chore: make west scripts more pythonic and apply Black 2022-01-04 23:59:25 -05:00
src Boot protocol support 2023-11-11 14:59:02 +09:00
tests refactor(behaviors): Final global-quick-tap deprecation. 2023-10-03 01:12:47 -07:00
.gitignore feat(metadata): Add YAML check/format npm scripts. 2021-09-11 00:50:36 -04:00
.prettierrc.js refactor: Add more checks to pre-commit 2023-04-24 16:07:04 -07:00
CMakeLists.txt fix: Address review comments 2023-10-02 22:03:08 -07:00
core-coverage.yml refactor: Add more checks to pre-commit 2023-04-24 16:07:04 -07:00
Kconfig Boot protocol support 2023-11-11 14:59:02 +09:00
Kconfig.behaviors feat(behaviors): Support parameterized macros. 2023-06-20 11:19:28 -06:00
package-lock.json chore: Update Prettier 2023-04-24 16:07:04 -07:00
package.json chore: Update Prettier 2023-04-24 16:07:04 -07:00
prj.conf Removed development files 2020-08-29 11:53:53 -07:00
run-test.sh refactor: Replace tabs with spaces 2023-04-24 16:07:04 -07:00
west.yml refactor: Move to Zephyr 3.2 branch. 2023-04-05 22:55:38 -07:00