]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - keyboard/ergodox/matrix.c
Bugfix: wrong order during init
[tmk_firmware.git] / keyboard / ergodox / matrix.c
index e2bd129874c738ad5ca4014abff3befbbacf00b6..2103a01814e525616f84383d5e08b275af92ebbd 100644 (file)
@@ -71,6 +71,7 @@ void matrix_init(void)
     // initialize row and col
     init_ergodox();
     mcp23018_status = init_mcp23018();
+    ergodox_blink_all_leds();
     unselect_rows();
     init_cols();
 
@@ -106,6 +107,9 @@ uint8_t matrix_scan(void)
     uint8_t layer = biton32(layer_state);
 
     ergodox_board_led_off();
+    ergodox_left_led_1_off();
+    ergodox_left_led_2_off();
+    ergodox_left_led_3_off();
     switch (layer) {
         case 1:
             // all
@@ -114,16 +118,15 @@ uint8_t matrix_scan(void)
             ergodox_left_led_3_on();
             break;
         case 2:
-        case 8:
             // blue
-            ergodox_left_led_1_off();
             ergodox_left_led_2_on();
-            ergodox_left_led_3_off();
             break;
+        case 8:
+            // blue and green
+            ergodox_left_led_2_on();
+            // break missed intentionally
         case 3:
             // green
-            ergodox_left_led_1_off();
-            ergodox_left_led_2_off();
             ergodox_left_led_3_on();
             break;
         case 6:
@@ -134,14 +137,9 @@ uint8_t matrix_scan(void)
         case 7:
             // red
             ergodox_left_led_1_on();
-            ergodox_left_led_2_off();
-            ergodox_left_led_3_off();
             break;
         default:
             // none
-            ergodox_left_led_1_off();
-            ergodox_left_led_2_off();
-            ergodox_left_led_3_off();
             break;
     }