From d3147adbfd7f0e712faf0e0e72b938b92c6b5bf3 Mon Sep 17 00:00:00 2001 From: NicoHood Date: Sat, 5 Mar 2016 17:58:16 +0100 Subject: [PATCH] Added releaseAll() for Mouse API --- src/HID-APIs/MouseAPI.h | 7 ++++--- src/HID-APIs/MouseAPI.hpp | 15 ++++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/HID-APIs/MouseAPI.h b/src/HID-APIs/MouseAPI.h index b72712e..184a5ae 100644 --- a/src/HID-APIs/MouseAPI.h +++ b/src/HID-APIs/MouseAPI.h @@ -70,14 +70,15 @@ public: inline void begin(void); inline void end(void); inline void click(uint8_t b = MOUSE_LEFT); - inline void move(signed char x, signed char y, signed char wheel = 0); + inline void move(signed char x, signed char y, signed char wheel = 0); inline void press(uint8_t b = MOUSE_LEFT); // press LEFT by default inline void release(uint8_t b = MOUSE_LEFT); // release LEFT by default + inline void releaseAll(void); inline bool isPressed(uint8_t b = MOUSE_LEFT); // check LEFT by default - + // Sending is public in the base class for advanced users. virtual void SendReport(void* data, int length) = 0; - + protected: uint8_t _buttons; inline void buttons(uint8_t b); diff --git a/src/HID-APIs/MouseAPI.hpp b/src/HID-APIs/MouseAPI.hpp index 55d144d..332201f 100644 --- a/src/HID-APIs/MouseAPI.hpp +++ b/src/HID-APIs/MouseAPI.hpp @@ -29,12 +29,12 @@ MouseAPI::MouseAPI(void) : _buttons(0) // Empty } -void MouseAPI::begin(void) +void MouseAPI::begin(void) { end(); } -void MouseAPI::end(void) +void MouseAPI::end(void) { _buttons = 0; move(0, 0, 0); @@ -67,7 +67,7 @@ void MouseAPI::buttons(uint8_t b) } } -void MouseAPI::press(uint8_t b) +void MouseAPI::press(uint8_t b) { buttons(_buttons | b); } @@ -77,10 +77,15 @@ void MouseAPI::release(uint8_t b) buttons(_buttons & ~b); } +void MouseAPI::releaseAll(void) +{ + _buttons = 0; + move(0,0,0); +} + bool MouseAPI::isPressed(uint8_t b) { - if ((b & _buttons) > 0) + if ((b & _buttons) > 0) return true; return false; } -