add keyboard interface (#95)

This commit is contained in:
tomaszduda23
2022-07-10 04:43:54 +09:00
committed by GitHub
parent 793edf8203
commit 38fae01cc0
6 changed files with 89 additions and 75 deletions

View File

@@ -26,9 +26,41 @@
namespace DRIVERS {
typedef struct {
bool caps;
bool scroll;
bool num;
} KeyboardLedsState;
typedef struct {
bool caps;
bool scroll;
bool num;
} KeyboardLedsState;
struct Keyboard : public Driver {
using Driver::Driver;
virtual void begin() {}
/**
* Release all keys
*/
virtual void clear() {}
/**
* Sends key
* @param code ???
* @param state true pressed, false released
*/
virtual void sendKey(uint8_t code, bool state) {}
virtual void periodic() {}
/**
* False if online or unknown. Otherwise true.
*/
virtual bool isOffline() { return false; }
virtual KeyboardLedsState getLeds() {
KeyboardLedsState result = {};
return result;
}
};
}