Making Separate BLE Mouse & Keyboard (each nRF52832) Appear as a Single BLE Device

Hi,

I am working on a project where I have two separate physical devices, each based on an nRF52832:

  • One device is a BLE Mouse
  • The other is a BLE Keyboard

My goal is to make both devices appear as a single HID device when connected to a host (PC, Mac, etc.). I understand that BLE HID normally supports composite devices, but in my case, the mouse and keyboard are separate hardware units.

I’ve considered two approaches:

  1. Using Gazell for communication between the peripherals and BLE for host connection:

    • The mouse and keyboard communicate wirelessly over Gazell instead of BLE.
    • One of them (e.g., the keyboard) also acts as a BLE peripheral and connects to the host.
    • The keyboard collects HID reports from the mouse via Gazell and forwards both mouse and keyboard reports to the host over BLE.
  2. Using the same Bluetooth Identity Address (BD_ADDR) and IRK:

    • Both devices share the same bonded connection details, appearing as a single device to the host.
    • This would require modifying the SoftDevice to share the same BD_ADDR and encryption keys.

I would like to know:

  • Is it possible to use a shared BD_ADDR and IRK on two nRF52832 devices to make them appear as one?
  • How to implement the second approach?
  • If that is too much of a complex task- then how to implement the first approach?

Thanks in advance for any insights!

Related