diff options
| author | krolyxon <me@krolyxon.com> | 2026-05-11 14:01:44 +0530 |
|---|---|---|
| committer | krolyxon <me@krolyxon.com> | 2026-05-11 14:01:44 +0530 |
| commit | f34b1e2fbd94bcc8d0ee2e2e2e43e214d0b329a1 (patch) | |
| tree | 235d29da4668906d1e11d651980cea8b0c69dec7 /src/libs/BleMouse.h | |
| parent | 360d2d2ad3bd584014683f3579fc2e2348c16852 (diff) | |
Migrate to PlatformIO
Now since i have been able to make PSRAM working with platformio, i
don't have to use this shitty Arduino-IDE anymore which does not even
allow me to use subfolders like a normal programmer would do
Diffstat (limited to 'src/libs/BleMouse.h')
| -rw-r--r-- | src/libs/BleMouse.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/libs/BleMouse.h b/src/libs/BleMouse.h new file mode 100644 index 0000000..8b4ab9b --- /dev/null +++ b/src/libs/BleMouse.h @@ -0,0 +1,45 @@ +#ifndef ESP32_BLE_MOUSE_H +#define ESP32_BLE_MOUSE_H +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BleConnectionStatus.h" +#include "BLEHIDDevice.h" +#include "BLECharacteristic.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 |
