summaryrefslogtreecommitdiff
path: root/keyboards/planck/ez/ez.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck/ez/ez.c')
-rw-r--r--keyboards/planck/ez/ez.c37
1 files changed, 36 insertions, 1 deletions
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index 2fd462548c..3855622481 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -328,8 +328,26 @@ bool music_mask_kb(uint16_t keycode) {
#ifdef ORYX_ENABLE
static uint16_t loops = 0;
static bool is_on = false;
+#endif
+
+#ifdef DYNAMIC_MACRO_ENABLE
+static bool is_dynamic_recording = false;
+static uint16_t dynamic_loop_timer;
+
+void dynamic_macro_record_start_user(void) {
+ is_dynamic_recording = true;
+ dynamic_loop_timer = timer_read();
+ planck_ez_left_led_on();
+}
+
+void dynamic_macro_record_end_user(int8_t direction) {
+ is_dynamic_recording = false;
+ layer_state_set_kb(layer_state);
+}
+#endif
void matrix_scan_kb(void) {
+#ifdef ORYX_ENABLE
if(webusb_state.pairing == true) {
if(loops == 0) {
//lights off
@@ -358,5 +376,22 @@ void matrix_scan_kb(void) {
planck_ez_left_led_off();
planck_ez_right_led_off();
}
-}
#endif
+#ifdef DYNAMIC_MACRO_ENABLE
+ if (is_dynamic_recording) {
+ if (timer_elapsed(dynamic_loop_timer) > 1)
+ {
+ static uint8_t counter;
+ counter++;
+ if (counter > 100) {
+ planck_ez_left_led_on();
+ } else {
+ planck_ez_left_led_off();
+
+ }
+ dynamic_loop_timer = timer_read();
+ }
+ }
+#endif
+ matrix_scan_user();
+}