summaryrefslogtreecommitdiff
path: root/hid/lib/drivers/keyboard.h
diff options
context:
space:
mode:
authortomaszduda23 <[email protected]>2022-07-10 04:43:54 +0900
committerGitHub <[email protected]>2022-07-09 22:43:54 +0300
commit38fae01cc01a0e984f52c004ade79256d8c90e17 (patch)
treefca48f9a0208aa5c0d79ed7f1da012b285d18025 /hid/lib/drivers/keyboard.h
parent793edf8203ec7ea5aba934558ea26054628a5618 (diff)
add keyboard interface (#95)
Diffstat (limited to 'hid/lib/drivers/keyboard.h')
-rw-r--r--hid/lib/drivers/keyboard.h42
1 files changed, 37 insertions, 5 deletions
diff --git a/hid/lib/drivers/keyboard.h b/hid/lib/drivers/keyboard.h
index 44ffe61a..39517f68 100644
--- a/hid/lib/drivers/keyboard.h
+++ b/hid/lib/drivers/keyboard.h
@@ -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;
+ }
+
+ };
}