diff --git a/app/Kconfig b/app/Kconfig index 6b4e3509a..28e3014eb 100644 --- a/app/Kconfig +++ b/app/Kconfig @@ -25,6 +25,9 @@ config USB_DEVICE_PID config USB_DEVICE_MANUFACTURER default "ZMK Project" +config BT_DEVICE_APPEARANCE + default 961 + config BT_DIS_PNP_VID default 0x1D50 diff --git a/app/src/ble.c b/app/src/ble.c index 2611eee5e..eb2a697e6 100644 --- a/app/src/ble.c +++ b/app/src/ble.c @@ -65,13 +65,15 @@ static uint8_t active_profile; #define DEVICE_NAME CONFIG_BT_DEVICE_NAME #define DEVICE_NAME_LEN (sizeof(DEVICE_NAME) - 1) +#define DEVICE_APPEARANCE \ + (uint8_t) CONFIG_BT_DEVICE_APPEARANCE, (uint8_t)(CONFIG_BT_DEVICE_APPEARANCE >> 8) BUILD_ASSERT( DEVICE_NAME_LEN <= CONFIG_BT_DEVICE_NAME_MAX, "ERROR: BLE device name is too long. Max length: " STRINGIFY(CONFIG_BT_DEVICE_NAME_MAX)); static struct bt_data zmk_ble_ad[] = { - BT_DATA_BYTES(BT_DATA_GAP_APPEARANCE, 0xC1, 0x03), + BT_DATA_BYTES(BT_DATA_GAP_APPEARANCE, DEVICE_APPEARANCE), BT_DATA_BYTES(BT_DATA_FLAGS, (BT_LE_AD_GENERAL | BT_LE_AD_NO_BREDR)), BT_DATA_BYTES(BT_DATA_UUID16_SOME, 0x12, 0x18, /* HID Service */ 0x0f, 0x18 /* Battery Service */ diff --git a/docs/docs/config/bluetooth.md b/docs/docs/config/bluetooth.md index 83fb9ec09..c9b8578c9 100644 --- a/docs/docs/config/bluetooth.md +++ b/docs/docs/config/bluetooth.md @@ -16,3 +16,4 @@ See [Configuration Overview](index.md) for instructions on how to change these s | `CONFIG_ZMK_BLE_EXPERIMENTAL_FEATURES` | bool | Aggregate config that enables both `CONFIG_ZMK_BLE_EXPERIMENTAL_CONN` and `CONFIG_ZMK_BLE_EXPERIMENTAL_SEC`. | n | | `CONFIG_ZMK_BLE_PASSKEY_ENTRY` | bool | Enable passkey entry during pairing for enhanced security. (Note: After enabling this, you will need to re-pair all previously paired hosts.) | n | | `CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION` | bool | Low level setting for GATT subscriptions. Set to `n` to work around an annoying Windows bug with battery notifications. | y | +| `CONFIG_BT_DEVICE_APPEARANCE` | int | Bluetooth device [appearance value](https://bluetooth.com/specifications/assigned-numbers) (should be converted from hexadecimal to decimal). | 961 |