diff options
author | Cem Aksoylar <[email protected]> | 2024-02-27 11:25:15 -0800 |
---|---|---|
committer | Pete Johanson <[email protected]> | 2024-03-18 09:58:16 -0700 |
commit | aa6cfe250d3324f918742c4e0ff232264d44f42c (patch) | |
tree | b28742496eac33e7a10d1465e2f040bcf5a72acb /docs | |
parent | bddee70b6b73ccd8f3ff299d5b36dd0537e639e1 (diff) | |
download | zmk-aa6cfe250d3324f918742c4e0ff232264d44f42c.tar.gz zmk-aa6cfe250d3324f918742c4e0ff232264d44f42c.zip |
feat(docs): Document refreshing the HID descriptor
Diffstat (limited to 'docs')
-rw-r--r-- | docs/docs/features/bluetooth.md | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/docs/features/bluetooth.md b/docs/docs/features/bluetooth.md index 307ac7e18a..1f2d795527 100644 --- a/docs/docs/features/bluetooth.md +++ b/docs/docs/features/bluetooth.md @@ -36,6 +36,19 @@ Failure to manage the profiles can result in unexpected/broken behavior with hos Management of the bluetooth in ZMK is accomplished using the [`&bt` behavior](../behaviors/bluetooth.md). Be sure to refer to that documentation to learn how to manage profiles, switch between connected hosts, etc. +## Refreshing the HID Descriptor + +Enabling certain features or behaviors in ZMK changes the data structure that ZMK sends over USB or BLE to host devices. +This in turn requires [HID report descriptors](https://docs.kernel.org/hid/hidintro.html) to be modified for the reports to be parsed correctly. +Firmware changes that would modify the descriptor include the following: + +- Changing any of the settings under the [HID category](../config/system.md#hid), including enabling/disabling NKRO or HID indicators +- Enabling mouse features, such as adding [mouse keys](../behaviors/mouse-emulation.md) to your keymap + +While the descriptor refresh happens on boot for USB, hosts will frequently cache this descriptor for BLE devices. +In order to refresh this cache, you need to remove the keyboard from the host device, clear the profile associated with the host on the keyboard, then pair again. +For Windows systems you might need to follow the instructions in [this troubleshooting section](#windows-connected-but-not-working) below. + ## Troubleshooting ### Connectivity Issues |