From c1c397b5555786bd27cac8ac9909d233671a67e8 Mon Sep 17 00:00:00 2001 From: krolyxon Date: Thu, 14 May 2026 23:47:43 +0530 Subject: move src/libs to libs --- lib/BleMouse/BleMouse.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 lib/BleMouse/BleMouse.h (limited to 'lib/BleMouse/BleMouse.h') diff --git a/lib/BleMouse/BleMouse.h b/lib/BleMouse/BleMouse.h new file mode 100644 index 0000000..4468189 --- /dev/null +++ b/lib/BleMouse/BleMouse.h @@ -0,0 +1,52 @@ +#ifndef ESP32_BLE_MOUSE_H +#define ESP32_BLE_MOUSE_H +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLECharacteristic.h" +#include "BLEHIDDevice.h" +#include "BleConnectionStatus.h" + +#define MOUSE_LEFT 1 +#define MOUSE_RIGHT 2 +#define MOUSE_MIDDLE 4 +#define MOUSE_BACK 8 +#define MOUSE_FORWARD 16 +#define MOUSE_ALL \ + (MOUSE_LEFT | MOUSE_RIGHT | \ + MOUSE_MIDDLE) #For compatibility with the Mouse library + +class BleMouse { + private: + uint8_t _buttons; + BleConnectionStatus *connectionStatus; + BLEHIDDevice *hid; + BLECharacteristic *inputMouse; + void buttons(uint8_t b); + void rawAction(uint8_t msg[], char msgSize); + static void taskServer(void *pvParameter); + + public: + BleMouse(std::string deviceName = "ESP32 Bluetooth Mouse", + std::string deviceManufacturer = "Espressif", + uint8_t batteryLevel = 100); + void begin(void); + void end(void); + void click(uint8_t b = MOUSE_LEFT); + void move(signed char x, signed char y, signed char wheel = 0, + signed char hWheel = 0); + void press(uint8_t b = MOUSE_LEFT); // press LEFT by default + void release(uint8_t b = MOUSE_LEFT); // release LEFT by default + bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default + bool isConnected(void); + void setBatteryLevel(uint8_t level); + uint8_t batteryLevel; + std::string deviceManufacturer; + std::string deviceName; + + protected: + virtual void onStarted(BLEServer *pServer) {}; +}; + +#endif // CONFIG_BT_ENABLED +#endif // ESP32_BLE_MOUSE_H -- cgit v1.2.3