Browse Source

Add NO_ACTION_OVERLAY config option

tmk 12 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

@@ -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:

+ 4 - 0
common/layer_switch.c

@@ -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--) {

+ 15 - 0
common/layer_switch.h

@@ -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
 
 
 

+ 2 - 1
keyboard/gh60/config.h

@@ -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