From ff1fdc5df5ecb8fe774403e858bdb808b5eff521 Mon Sep 17 00:00:00 2001 From: Tanish Nallamothu Date: Thu, 1 May 2025 21:02:54 +0530 Subject: [PATCH] Update BleMouse.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same as BleKeyboard.cpp 🛠️ Fix for ESP32_BLE_Mouse Compatibility with Latest ESP32 BLE Library This repository includes a patched version of the BleMouse.cpp file from the ESP32_BLE_Mouse library. It fixes compilation errors that occur when using ESP32 core version 3.x, caused by the use of std::string where the BLE library expects Arduino String objects. ✅ What’s Fixed: Replaced std::string with String(…).c_str() or direct String() conversion Ensured compatibility with BLEDevice::init() and BLECharacteristic::setValue() calls Useful for users facing similar errors when compiling the BLE Mouse library with updated ESP32 toolchains. --- BleMouse.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BleMouse.cpp b/BleMouse.cpp index 2bcdd4c..dcadf37 100644 --- a/BleMouse.cpp +++ b/BleMouse.cpp @@ -140,7 +140,7 @@ void BleMouse::setBatteryLevel(uint8_t level) { void BleMouse::taskServer(void* pvParameter) { BleMouse* bleMouseInstance = (BleMouse *) pvParameter; //static_cast(pvParameter); - BLEDevice::init(bleMouseInstance->deviceName); + BLEDevice::init(bleMouseInstance->deviceName.c_str()); BLEServer *pServer = BLEDevice::createServer(); pServer->setCallbacks(bleMouseInstance->connectionStatus); @@ -148,7 +148,7 @@ void BleMouse::taskServer(void* pvParameter) { bleMouseInstance->inputMouse = bleMouseInstance->hid->inputReport(0); // <-- input REPORTID from report map bleMouseInstance->connectionStatus->inputMouse = bleMouseInstance->inputMouse; - bleMouseInstance->hid->manufacturer()->setValue(bleMouseInstance->deviceManufacturer); + bleMouseInstance->hid->manufacturer()->setValue(String(bleMouseInstance->deviceManufacturer.c_str())); bleMouseInstance->hid->pnp(0x02, 0xe502, 0xa111, 0x0210); bleMouseInstance->hid->hidInfo(0x00,0x02);