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:
/**
* This example turns the ESP32 into a Bluetooth LE mouse that scrolls down every 2 seconds.
*/
#include <BleMouse.h>
BleMouse 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);
}
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 bleMouse
instead of just Mouse
and you need these two lines at the top of your script:
#include <BleMouse.h>
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 Mouse
and the manufacturer will be Espressif
.
Credits to chegewara as this library is based on this piece of code that he provided.