Bluetooth LE Mouse library for the ESP32 (Arduino IDE compatible)
This library allows you to make the ESP32 act as a Bluetooth Mouse and control what it does. E.g. move the mouse, scroll, make a click etc.
You might also be interested in: - ESP32-BLE-Keyboard - ESP32-BLE-Gamepad
/** * This example turns the ESP32 into a Bluetooth LE mouse that scrolls down every 2 seconds. */ #includeBleMouse bleMouse;
void setup() { Serial.begin(115200); Serial.println("Starting BLE work!"); bleMouse.begin(); }
void loop() { if(bleMouse.isConnected()) { Serial.println("Scroll Down"); bleMouse.move(0,0,-1); } delay(2000); } </blemouse.h>
The BleMouse interface is almost identical to the Mouse Interface, so you can use documentation right here: https://www.arduino.cc/reference/en/language/functions/usb/mouse/
Just remember that you have to use
bleMouseinstead of just
Mouseand you need these two lines at the top of your script: ```
BleMouse bleMouse; ```
This library supports a few additional features that the Mouse library does not support at the time of writing:
bleMouse.move(0,0,0,1)(Scroll left) and
bleMouse.move(0,0,0,-1)(Scroll right)
bleMouse.click(MOUSE_BACK)and
bleMouse.click(MOUSE_FORWARD)
There is also Bluetooth specific information that you can use (optional):
Instead of
BleMouse bleMouse;you can do
BleMouse bleMouse("Bluetooth Device Name", "Bluetooth Device Manufacturer", 100);. The third parameter is the initial battery level of your device. To adjust the battery level later on you can simply call e.g.
bleMouse.setBatteryLevel(50)(set battery level to 50%). By default the battery level will be set to 100%, the device name will be
ESP32 Bluetooth Mouseand the manufacturer will be
Espressif.
Credits to chegewara as this library is based on this piece of code that he provided.