forked from forks/qmk_firmware
Add NO_ACTION_OVERLAY config option
This commit is contained in:
parent
1687041267
commit
b057511f45
|
@ -517,6 +517,7 @@ static void process_action(keyrecord_t *record)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
#ifndef NO_ACTION_OVERLAY
|
||||||
case ACT_OVERLAY:
|
case ACT_OVERLAY:
|
||||||
switch (action.layer.code) {
|
switch (action.layer.code) {
|
||||||
// Overlay Invert bit4
|
// Overlay Invert bit4
|
||||||
|
@ -670,6 +671,7 @@ static void process_action(keyrecord_t *record)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Extentions */
|
/* Extentions */
|
||||||
case ACT_MACRO:
|
case ACT_MACRO:
|
||||||
|
|
|
@ -98,6 +98,7 @@ void keymap_debug(void)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef NO_ACTION_OVERLAY
|
||||||
/*
|
/*
|
||||||
* Overlay Layer (16-31 = 0-15|0x10)
|
* Overlay Layer (16-31 = 0-15|0x10)
|
||||||
*/
|
*/
|
||||||
|
@ -169,12 +170,14 @@ void overlay_debug(void)
|
||||||
{
|
{
|
||||||
debug_hex16(overlay_stat); debug("("); debug_dec(overlay_get_layer()); debug(")");
|
debug_hex16(overlay_stat); debug("("); debug_dec(overlay_get_layer()); debug(")");
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
action_t layer_switch_get_action(key_t key)
|
action_t layer_switch_get_action(key_t key)
|
||||||
{
|
{
|
||||||
action_t action;
|
action_t action;
|
||||||
action.code = ACTION_TRANSPARENT;
|
action.code = ACTION_TRANSPARENT;
|
||||||
|
|
||||||
|
#ifndef NO_ACTION_OVERLAY
|
||||||
/* overlay: top layer first */
|
/* overlay: top layer first */
|
||||||
for (int8_t i = 15; i >= 0; i--) {
|
for (int8_t i = 15; i >= 0; i--) {
|
||||||
if (overlay_stat & (1<<i)) {
|
if (overlay_stat & (1<<i)) {
|
||||||
|
@ -184,6 +187,7 @@ action_t layer_switch_get_action(key_t key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* keymap: top layer first */
|
/* keymap: top layer first */
|
||||||
for (int8_t i = 15; i >= 0; i--) {
|
for (int8_t i = 15; i >= 0; i--) {
|
||||||
|
|
|
@ -57,6 +57,7 @@ void keymap_debug(void);
|
||||||
/*
|
/*
|
||||||
* Overlay Layer
|
* Overlay Layer
|
||||||
*/
|
*/
|
||||||
|
#ifndef NO_ACTION_OVERLAY
|
||||||
extern uint16_t overlay_stat;
|
extern uint16_t overlay_stat;
|
||||||
/* return current active layer */
|
/* return current active layer */
|
||||||
uint8_t overlay_get_layer(void);
|
uint8_t overlay_get_layer(void);
|
||||||
|
@ -71,6 +72,20 @@ void overlay_or(uint16_t stat);
|
||||||
void overlay_and(uint16_t stat);
|
void overlay_and(uint16_t stat);
|
||||||
void overlay_xor(uint16_t stat);
|
void overlay_xor(uint16_t stat);
|
||||||
void overlay_debug(void);
|
void overlay_debug(void);
|
||||||
|
#else
|
||||||
|
#define overlay_stat 0
|
||||||
|
#define overlay_get_layer()
|
||||||
|
#define overlay_clear()
|
||||||
|
#define overlay_set(stat)
|
||||||
|
#define overlay_move(layer)
|
||||||
|
#define overlay_on(layer)
|
||||||
|
#define overlay_off(layer)
|
||||||
|
#define overlay_invert(layer)
|
||||||
|
#define overlay_or(stat)
|
||||||
|
#define overlay_and(stat)
|
||||||
|
#define overlay_xor(stat)
|
||||||
|
#define overlay_debug()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -58,8 +58,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* disable debug print */
|
/* disable debug print */
|
||||||
//#define NO_DEBUG
|
//#define NO_DEBUG
|
||||||
|
|
||||||
/* disable print */
|
/* disable print */
|
||||||
//#define NO_PRINT
|
//#define NO_PRINT
|
||||||
|
|
||||||
|
#define NO_ACTION_OVERLAY
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue