]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - common/command.c
Change: 0 means default_layer in current_layer now
[tmk_firmware.git] / common / command.c
index 8ca16b91029adddf9df3ba6bc63d98f8febef321..4c874b1092f75fee5962bb68d384080be1c05686 100644 (file)
@@ -234,6 +234,7 @@ static bool command_common(uint8_t code)
             break;
 #ifdef NKRO_ENABLE
         case KC_N:
+            clear_keyboard(); //Prevents stuck keys.
             keyboard_nkro = !keyboard_nkro;
             if (keyboard_nkro)
                 print("NKRO: enabled\n");
@@ -260,25 +261,19 @@ static bool command_common(uint8_t code)
 #endif
             break;
 #endif
+        case KC_ESC:
+        case KC_GRV:
         case KC_0:
-        case KC_F10:
+            clear_keyboard();
             switch_layer(0);
             break;
-        case KC_1:
-        case KC_F1:
-            switch_layer(1);
-            break;
-        case KC_2:
-        case KC_F2:
-            switch_layer(2);
-            break;
-        case KC_3:
-        case KC_F3:
-            switch_layer(3);
+        case KC_1 ... KC_9:
+            clear_keyboard();
+            switch_layer((code - KC_1) + 1);
             break;
-        case KC_4:
-        case KC_F4:
-            switch_layer(4);
+        case KC_F1 ... KC_F12:
+            clear_keyboard();
+            switch_layer((code - KC_F1) + 1);
             break;
         default:
             print("?");
@@ -551,7 +546,7 @@ static void switch_layer(uint8_t layer)
 {
     print_val_hex8(current_layer);
     print_val_hex8(default_layer);
-    current_layer = layer;
     default_layer = layer;
+    current_layer = 0;
     print("switch to "); print_val_hex8(layer);
 }