aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ergodox_ez/ergodox_ez.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ergodox_ez/ergodox_ez.c')
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index 49f690fa7..8d3790088 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -398,3 +398,54 @@ void eeconfig_init_kb(void) { // EEPROM is getting reset!
398 eeconfig_update_kb(keyboard_config.raw); 398 eeconfig_update_kb(keyboard_config.raw);
399 eeconfig_init_user(); 399 eeconfig_init_user();
400} 400}
401
402#ifdef ORYX_ENABLE
403static uint16_t loops = 0;
404static bool is_on = false;
405#endif
406
407#ifdef DYNAMIC_MACRO_ENABLE
408static bool is_dynamic_recording = false;
409static uint16_t dynamic_loop_timer;
410
411void dynamic_macro_record_start_user(void) {
412 is_dynamic_recording = true;
413 dynamic_loop_timer = timer_read();
414 ergodox_right_led_1_on();
415}
416
417void dynamic_macro_record_end_user(int8_t direction) {
418 is_dynamic_recording = false;
419 layer_state_set_user(layer_state);
420}
421#endif
422
423void matrix_scan_kb(void) {
424#ifdef DYNAMIC_MACRO_ENABLE
425 if (is_dynamic_recording) {
426 ergodox_right_led_1_off();
427 // if (timer_elapsed(dynamic_loop_timer) > 5)
428 {
429 static uint8_t counter;
430 counter++;
431 if (counter > 100) ergodox_right_led_1_on();
432 dynamic_loop_timer = timer_read();
433 }
434 }
435#endif
436
437#ifdef CAPS_LOCK_STATUS
438 led_t led_state = host_keyboard_led_state();
439 if(led_state.caps_lock) {
440 ergodox_right_led_3_on();
441 }
442 else {
443 uint8_t layer = get_highest_layer(layer_state);
444 if(layer != 1) {
445 ergodox_right_led_3_off();
446 }
447 }
448#endif
449
450 matrix_scan_user();
451}