mirror of
https://github.com/openstenoproject/qmk
synced 2024-11-11 02:59:09 +00:00
Add NO_ACTION_OVERLAY config option
This commit is contained in:
parent
1687041267
commit
b057511f45
4 changed files with 23 additions and 1 deletions
|
@ -517,6 +517,7 @@ static void process_action(keyrecord_t *record)
|
|||
}
|
||||
break;
|
||||
|
||||
#ifndef NO_ACTION_OVERLAY
|
||||
case ACT_OVERLAY:
|
||||
switch (action.layer.code) {
|
||||
// Overlay Invert bit4
|
||||
|
@ -670,6 +671,7 @@ static void process_action(keyrecord_t *record)
|
|||
break;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
/* Extentions */
|
||||
case ACT_MACRO:
|
||||
|
|
|
@ -98,6 +98,7 @@ void keymap_debug(void)
|
|||
|
||||
|
||||
|
||||
#ifndef NO_ACTION_OVERLAY
|
||||
/*
|
||||
* 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(")");
|
||||
}
|
||||
#endif
|
||||
|
||||
action_t layer_switch_get_action(key_t key)
|
||||
{
|
||||
action_t action;
|
||||
action.code = ACTION_TRANSPARENT;
|
||||
|
||||
#ifndef NO_ACTION_OVERLAY
|
||||
/* overlay: top layer first */
|
||||
for (int8_t i = 15; i >= 0; i--) {
|
||||
if (overlay_stat & (1<<i)) {
|
||||
|
@ -184,6 +187,7 @@ action_t layer_switch_get_action(key_t key)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* keymap: top layer first */
|
||||
for (int8_t i = 15; i >= 0; i--) {
|
||||
|
|
|
@ -57,6 +57,7 @@ void keymap_debug(void);
|
|||
/*
|
||||
* Overlay Layer
|
||||
*/
|
||||
#ifndef NO_ACTION_OVERLAY
|
||||
extern uint16_t overlay_stat;
|
||||
/* return current active layer */
|
||||
uint8_t overlay_get_layer(void);
|
||||
|
@ -71,6 +72,20 @@ void overlay_or(uint16_t stat);
|
|||
void overlay_and(uint16_t stat);
|
||||
void overlay_xor(uint16_t stat);
|
||||
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 */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
#define NO_ACTION_OVERLAY
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue