Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable USB Boot protocol support #658

Open
wants to merge 1 commit into
base: V3.0
Choose a base branch
from

Conversation

edwintorok
Copy link

@edwintorok edwintorok commented Feb 17, 2025

Advantage 360 Pro PR template

What's changed:

Enable USB Boot protocol support for Mac OS login screen (FileVault).

Why has this change been implemented:

When disk encryption is enabled the keyboard doesn't work at all on the initial login screen after power on, it only works after logging in (or on the login screen when resuming from sleep).
On this login screen only the boot protocol works.
According to the ZMK docs enabling CONFIG_ZMK_USB_BOOT is needed for the keyboard to work with FileVault or Bitlocker:

CONFIG_ZMK_USB_BOOT bool Enable USB Boot protocol support n
By default USB Boot protocol support is disabled, however certain situations such as the input of Bitlocker pins or FileVault passwords may require it to be enabled

What (if any) actions must a user take after this change:

No action needed other than flashing the new firmware.

See also

@guilhermetk has also implemented a similar change
#511 (comment)

See here for more discussion and testing. I've tested with both Linux (Fedora 41) and Mac OS (with FileVault enabled) and the keyboard with this change works on both. Without the change it doesn't work on the Mac OS initial login screen after poweron (where FileVault needs to be unlocked).
#511 (comment)
#511 (comment)

With older firmwares there were bugs where the keyboard would stop working on Linux when this feature was enabled on both halves, but that bug is gone with latest Kinesis firmware on which this PR is based on top of.

Required for Mac OS boot login screen.

See https://zmk.dev/docs/config/system#usb
> CONFIG_ZMK_USB_BOOT	bool	Enable USB Boot protocol support	n
> By default USB Boot protocol support is disabled, however certain situations such as the input of Bitlocker pins or FileVault passwords may require it to be enabled

Signed-off-by: Edwin Török <[email protected]>
@zchee
Copy link

zchee commented Feb 17, 2025

@edwintorok @ReFil FYI, I found the same issue on the "zmkfirmware/zmk" side.

The official docs didn't provide details, but @xudongzheng (not mentioned here cuz noisy), who is the zmk author, said it was fixed in the PR where the CONFIG_ZMK_USB_BOOT parameter was added.


EDIT:
My bad. sorry for the noisy comment. I just realized that @edwintorok was aware of the zmk side PR 🙏

@ReFil
Copy link
Collaborator

ReFil commented Feb 17, 2025

@zchee The issue that was being encountered was separate to that, the advantage 360 pro firmware had support for CONFIG_ZMK_USB_BOOT before this PR. There was some bug in the implementation prior to #630 that prevented it from working properly

@zchee
Copy link

zchee commented Feb 17, 2025

@ReFil Ah, I misunderstood. but thanks for the details and polite reply.

And now a good opportunity. Many thanks for maintaining and hardwork the Adv360-Pro-ZMK. I can't thank you enough.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants