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:
-
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.
-
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!