#include #include "keyboard.h" #include "action.h" #include "debug.h" #include "util.h" #include "layer_switch.h" /* * Default Layer (0-15) */ uint8_t default_layer = 0; void default_layer_set(uint8_t layer) { debug("default_layer_set: "); debug_dec(default_layer); debug(" to "); default_layer = layer; debug_dec(default_layer); debug("\n"); clear_keyboard_but_mods(); // To avoid stuck keys } /* * Keymap Layer (0-15) */ uint16_t keymap_stat = 0; /* return highest layer whose state is on */ uint8_t keymap_get_layer(void) { return biton16(keymap_stat); } static void keymap_stat_set(uint16_t stat) { debug("keymap: "); keymap_debug(); debug(" to "); keymap_stat = stat; keymap_debug(); debug("\n"); clear_keyboard_but_mods(); // To avoid stuck keys } void keymap_clear(void) { keymap_stat_set(0); } void keymap_set(uint16_t stat) { keymap_stat_set(stat); } void keymap_move(uint8_t layer) { keymap_stat_set(1<= 0; i--) { if (overlay_stat & (1<= 0; i--) { if (keymap_stat & (1<