You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current ble.c appears to keep advertise until pairing is complete.
If there is no BLE bonding and you are using a USB connection.
The keyboard will advertise and a third party may pair to the keyboard without permission.
How to fix it?
Add a Kconfig for the advertising timeout time (for example,
ZMK_BLE_ADVERTISING_TIMEOUT) and stop advertising if no pairing occurs for more than the set number of seconds.
If the user wants to advertise again, they can run the bt behavior again or reboot the device.
The text was updated successfully, but these errors were encountered:
Expanding the story a bit.
In this regard, I would like to make the following two suggestions:
creating a behavior to stop advertisement may help more people.
it might be a good idea to consider including an advertise timeout specification between central and peripheral on split keyboards as well.
One possible use case is when a game is played using only the left hand of the split keyboard, in which case the power consumption of the left hand is high.
*In the current implementation, if the keyboard cannot be paired with the right hand (PERIPHERAL), the power consumption of the left hand is high because the processing is always running.
Problem
The current ble.c appears to keep advertise until pairing is complete.
If there is no BLE bonding and you are using a USB connection.
The keyboard will advertise and a third party may pair to the keyboard without permission.
How to fix it?
Add a Kconfig for the advertising timeout time (for example,
ZMK_BLE_ADVERTISING_TIMEOUT) and stop advertising if no pairing occurs for more than the set number of seconds.
If the user wants to advertise again, they can run the bt behavior again or reboot the device.
The text was updated successfully, but these errors were encountered: