zmk/app
Andrew Childs 843d324525
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.
2022-11-25 20:13:24 +09:00
..
boards fix(boards): Fix XIAO BLE voltage divider config. 2022-11-17 22:46:12 -06:00
cmake fix(build): Fix for proper string variable check. 2022-06-07 19:43:23 -04:00
drivers ZMK_KSCAN_MATRIX_WAIT_BETWEEN_OUTPUTS: only wait between outputs 2022-11-25 20:12:48 +09:00
dts feat(behaviors): Add mod-morph keep-mods 2022-10-14 20:40:28 -05:00
include Boot protocol support 2022-11-25 20:13:24 +09:00
scripts chore: make west scripts more pythonic and apply Black 2022-01-04 23:59:25 -05:00
src Boot protocol support 2022-11-25 20:13:24 +09:00
tests fix(behaviors): make tap dances work on a combo 2022-11-01 15:13:19 -05:00
.gitignore feat(metadata): Add YAML check/format npm scripts. 2021-09-11 00:50:36 -04:00
.prettierrc.js feat(metadata): Add YAML check/format npm scripts. 2021-09-11 00:50:36 -04:00
CMakeLists.txt Merge PR#999 (LED indicators) 2022-11-25 20:12:37 +09:00
core-coverage.yml feature(shields): Add nice!view 2022-09-29 21:11:26 -04:00
Kconfig Boot protocol support 2022-11-25 20:13:24 +09:00
package-lock.json feat(metadata): Add YAML check/format npm scripts. 2021-09-11 00:50:36 -04:00
package.json feat(metadata): Add YAML check/format npm scripts. 2021-09-11 00:50:36 -04:00
prj.conf Removed development files 2020-08-29 11:53:53 -07:00
run-test.sh refactor(tests): Use GH Actions matrix for tests. 2022-04-04 23:36:51 -04:00
west.yml fix: Don't exclude segger, needed for DKs. 2022-06-22 16:37:22 -04:00