Bluetooth operates at IRQ level, so using std::list (which needs to new and delete objects) is not legal. Use a fixed, preallocated vector instead.
Support Bluetooth BLE keyboard and mice using the same HID master infrastructure as the BT Classic.