-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
feat(core): Optionally disable automatic endpoint fallback #2572
base: main
Are you sure you want to change the base?
Conversation
Can we add a link to https://zmk.dev/docs/keymaps/behaviors/outputs pointing to this? Perhaps an additional paragraph at the end of the summary section. |
19fe994
to
5d23a98
Compare
5d23a98
to
22a99e5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed one more issue. Otherwise, this looks good to me (though I haven't personally tested it).
@joelspadin sorry to be a pain, not sure if GitHub is playing up or something but I can't seem to see what changes you requested? |
No idea where that comment went. I've added it again. |
22a99e5
to
121ff8b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me now, but @petejohanson should probably take a look too.
By default if only one endpoint is connected but the other is selected, the connected endpoint will be chosen as a fallback, for boards with physical endpoint selection slide switches this can lead to confusing behaviour where one is selected but the other is used.
This adds a kConfig option
CONFIG_ZMK_ENDPOINT_DISABLE_FALLBACK
that, when enabled, switches the board to a different endpoint selection system that will only return the preferred transport or anew transportZMK_TRANSPORT_NONE
that just swallows any HID data.Tested with various combinations of USB and BLE and it seems to work as intended