M common/action.c => common/action.c +2 -0
@@ 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:
M common/layer_switch.c => common/layer_switch.c +4 -0
@@ 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);
M common/layer_switch.h => common/layer_switch.h +15 -0
@@ 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
/*
M keyboard/gh60/config.h => keyboard/gh60/config.h +1 -0
@@ 61,6 61,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* disable print */
//#define NO_PRINT
+#define NO_ACTION_KEYMAP
#define NO_ACTION_OVERLAY
#define NO_ACTION_TAPPING
#define NO_ACTION_MACRO