aboutsummaryrefslogtreecommitdiff
path: root/color-picker.h
diff options
context:
space:
mode:
Diffstat (limited to 'color-picker.h')
-rw-r--r--color-picker.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/color-picker.h b/color-picker.h
new file mode 100644
index 0000000..9782ef7
--- /dev/null
+++ b/color-picker.h
@@ -0,0 +1,26 @@
+// -*- mode: c++ -*-
+#pragma once
+
+#include <Kaleidoscope.h>
+
+class ColorPicker : public kaleidoscope::Plugin {
+public:
+ ColorPicker(void) : is_active(false), current_index(0), colors{}, map{} { }
+
+ void toggle(void) { is_active = !is_active; }
+
+ kaleidoscope::EventHandlerResult onKeyswitchEvent(Key &mapped_key, byte row, byte col, uint8_t key_state) {
+ if (!Kaleidoscope.has_leds || !is_active)
+ return kaleidoscope::EventHandlerResult::OK;
+
+ return kaleidoscope::EventHandlerResult::EVENT_CONSUMED;
+ }
+
+private:
+ bool is_active;
+ uint8_t current_index;
+ cRGB colors[16];
+ uint8_t map[ROWS][COLS];
+};
+
+ColorPicker theColorPicker;