Browse Source

Add NO_ACTION_OVERLAY config option

tags/v1.9
tmk 11 years ago
parent
commit
b057511f45
4 changed files with 23 additions and 1 deletions
  1. 2
    0
      common/action.c
  2. 4
    0
      common/layer_switch.c
  3. 15
    0
      common/layer_switch.h
  4. 2
    1
      keyboard/gh60/config.h

+ 2
- 0
common/action.c View File

} }
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
break; break;
} }
break; break;
#endif


/* Extentions */ /* Extentions */
case ACT_MACRO: case ACT_MACRO:

+ 4
- 0
common/layer_switch.c View File







#ifndef NO_ACTION_OVERLAY
/* /*
* Overlay Layer (16-31 = 0-15|0x10) * Overlay Layer (16-31 = 0-15|0x10)
*/ */
{ {
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)) {
} }
} }
} }
#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--) {

+ 15
- 0
common/layer_switch.h View File

/* /*
* 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);
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







+ 2
- 1
keyboard/gh60/config.h View File



/* 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…
Cancel
Save