summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--streamdeck.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/streamdeck.h b/streamdeck.h
index c95508f..69f6ba3 100644
--- a/streamdeck.h
+++ b/streamdeck.h
@@ -16,6 +16,41 @@
/* may or may not use these. Might use enumerations */
// #define STREAMDECK_ORIG 1
// #define STREAMDECK_MINI 2
+struct Image {
+ void* data;
+ size_t size;
+};
+
+struct Key {
+ bool isFolder;
+ void* command;
+ struct Image* key;
+ pthread_mutex_t key_mutex;
+};
+
+/* How should we deal with invalid keys with nothing? Well we can use
+ * a bitmask */
+/*
+ * Keys are numbered left to right.
+ * so in the mini streamdeck we have
+ * 0 1 2
+ * 3 4 5
+ */
+struct Screen {
+ struct Key* keys;
+};
+
+struct Handler {
+ hid_device* handler;
+};
+
+struct Streamdeck {
+ struct Handler* hid_handle;
+ void* callback_funcs;
+ struct Screen* curr_screen;
+ int numkeys;
+ int devicetype;
+};
typedef struct Image image;
typedef struct Key key;