zmk icon indicating copy to clipboard operation
zmk copied to clipboard

Add passkey display/confirm support

Open joelspadin opened this issue 2 years ago • 3 comments

Added support for numeric comparison and passkey entry with keyboard-side display when pairing bluetooth.

Added a pairing screen for displays to show the passkey and made various tweaks to display code to allow for switching between screens and to select appropriate font sizes across displays of various sizes.

128x32 OLED status screen (unchanged) image

128x32 OLED pairing screen image

128x64 OLED status screen (layer indicator is now the same size as the top text) image

128x64 OLED pairing screen image

nice!view with built-in status screen (updated font sizes) image

nice!view pairing screen image

I also snuck in some refactoring of BLE code which was unrelated to the passkey support, which I did while trying to debug things (see the first commit in this PR). I can pull that out to a separate PR if you'd like.

joelspadin avatar Nov 06 '23 00:11 joelspadin

Remaining work:

  • [x] Support upgrading security by re-pairing an existing connection
  • [ ] Make sure everything works properly when paired to multiple hosts, and they all need to upgrade security
  • [ ] Fix passkey entry bugs

joelspadin avatar Nov 10 '23 17:11 joelspadin

I'm probably going to put this on hold until we finish upgrading to Zephyr 3.5 to make sure the problems I was running into with BT pairing aren't just bugs in Zephyr.

joelspadin avatar Nov 19 '23 20:11 joelspadin

This feature would be a big win for split keyboards!

Is there any possibility of it being resurrected?

MickiusMousius avatar Apr 11 '25 07:04 MickiusMousius