@@ -369,6 +369,7 @@ static void process_action(keyrecord_t *record) | |||
break; | |||
#endif | |||
#ifndef NO_ACTION_KEYMAP | |||
case ACT_KEYMAP: | |||
switch (action.layer.code) { | |||
/* Keymap clear */ | |||
@@ -530,6 +531,7 @@ static void process_action(keyrecord_t *record) | |||
break; | |||
} | |||
break; | |||
#endif | |||
#ifndef NO_ACTION_OVERLAY | |||
case ACT_OVERLAY: |
@@ -24,6 +24,7 @@ void default_layer_set(uint8_t layer) | |||
} | |||
#ifndef NO_ACTION_KEYMAP | |||
/* | |||
* Keymap Layer (0-15) | |||
*/ | |||
@@ -95,6 +96,7 @@ void keymap_debug(void) | |||
{ | |||
debug_hex16(keymap_stat); debug("("); debug_dec(keymap_get_layer()); debug(")"); | |||
} | |||
#endif | |||
@@ -189,6 +191,7 @@ action_t layer_switch_get_action(key_t key) | |||
} | |||
#endif | |||
#ifndef NO_ACTION_KEYMAP | |||
/* keymap: top layer first */ | |||
for (int8_t i = 15; i >= 0; i--) { | |||
if (keymap_stat & (1<<i)) { | |||
@@ -198,6 +201,7 @@ action_t layer_switch_get_action(key_t key) | |||
} | |||
} | |||
} | |||
#endif | |||
/* default layer */ | |||
action = action_for_key(default_layer, key); |
@@ -38,6 +38,7 @@ void default_layer_set(uint8_t layer); | |||
/* | |||
* Keymap Layer | |||
*/ | |||
#ifndef NO_ACTION_KEYMAP | |||
extern uint16_t keymap_stat; | |||
/* return current active layer */ | |||
uint8_t keymap_get_layer(void); | |||
@@ -52,6 +53,20 @@ void keymap_or(uint16_t stat); | |||
void keymap_and(uint16_t stat); | |||
void keymap_xor(uint16_t stat); | |||
void keymap_debug(void); | |||
#else | |||
#define keymap_stat 0 | |||
#define keymap_get_layer() | |||
#define keymap_clear() | |||
#define keymap_set(stat) | |||
#define keymap_move(layer) | |||
#define keymap_on(layer) | |||
#define keymap_off(layer) | |||
#define keymap_invert(layer) | |||
#define keymap_or(stat) | |||
#define keymap_and(stat) | |||
#define keymap_xor(stat) | |||
#define keymap_debug() | |||
#endif | |||
/* |