feat: implement multi profile bluetooth support#26199
Open
damex wants to merge 1 commit intoqmk:developfrom
Open
feat: implement multi profile bluetooth support#26199damex wants to merge 1 commit intoqmk:developfrom
damex wants to merge 1 commit intoqmk:developfrom
Conversation
wires QK_BLUETOOTH_PROFILE_* and QK_BLUETOOTH_UNPAIR. extends connection_config_t with 4-bit bluetooth_profile sharing the existing byte. existing values decode unchanged. new bluetooth.h api: get_max_profile, set_profile, get_profile, unpair. new connection.h api: set/get/next/prev_bluetooth_profile and two weak hooks. weak defaults keep rn42 and bluefruit_le single-profile. docs are updated. Signed-off-by: Roman Kuzmitskii <roman@damex.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
implements the QK_BLUETOOTH_PROFILE_* and QK_BLUETOOTH_UNPAIR
keycodes that have been reserved but unwired. fulfills the TODO
in process_connection.c.
extends
connection_config_twith a 4-bitbluetooth_profilefield sharing the existing 1-byte slot (4-bit
desired_host+4-bit profile). no eeprom layout shift; existing values decode
unchanged.
new
bluetooth.hapi:bluetooth_get_max_profile,bluetooth_set_profile,bluetooth_get_profile,bluetooth_unpair. weak defaults inbluetooth.ckeeprn42and
bluefruit_leworking as single-profile. drivers gainmulti-profile by overriding the four functions.
new connection-layer api:
connection_set_bluetooth_profile,connection_get_bluetooth_profile,connection_next/prev_bluetooth_profileplus
connection_bluetooth_profile_changed_user/_kbweak hooks.connection_set_bluetooth_profileensures host is bluetooth asa side effect, so pressing
BT_PRF1from usb switches andselects in one go.
docs/keycodes.mdanddocs/features/wireless.mdupdated:"not yet implemented" markers removed from the bluetooth profile
rows, and a new section in
wireless.mddescribes themulti-profile contract.
Types of Changes
Issues Fixed or Closed by This PR
Checklist