aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-03-20 00:56:54 +0900
committertmk <nobody@nowhere>2013-03-20 01:45:04 +0900
commitdbcac865b9faef2286ca2b0195ea08cf550d83ae (patch)
treeef97a69f18f1275966d318f69c70edf8dcb7ecaf
parentecb7550a91a7fb9a2e7e717f3c0d40d30fd92121 (diff)
downloadqmk_firmware-dbcac865b9faef2286ca2b0195ea08cf550d83ae.tar.gz
qmk_firmware-dbcac865b9faef2286ca2b0195ea08cf550d83ae.zip
Add NO_ACTION_KEYMAP config option
-rw-r--r--common/action.c2
-rw-r--r--common/layer_switch.c4
-rw-r--r--common/layer_switch.h15
-rw-r--r--keyboard/gh60/config.h1
4 files changed, 22 insertions, 0 deletions
diff --git a/common/action.c b/common/action.c
index 51b11d1bc..3d81318a9 100644
--- a/common/action.c
+++ b/common/action.c
@@ -369,6 +369,7 @@ static void process_action(keyrecord_t *record)
369 break; 369 break;
370#endif 370#endif
371 371
372#ifndef NO_ACTION_KEYMAP
372 case ACT_KEYMAP: 373 case ACT_KEYMAP:
373 switch (action.layer.code) { 374 switch (action.layer.code) {
374 /* Keymap clear */ 375 /* Keymap clear */
@@ -530,6 +531,7 @@ static void process_action(keyrecord_t *record)
530 break; 531 break;
531 } 532 }
532 break; 533 break;
534#endif
533 535
534#ifndef NO_ACTION_OVERLAY 536#ifndef NO_ACTION_OVERLAY
535 case ACT_OVERLAY: 537 case ACT_OVERLAY:
diff --git a/common/layer_switch.c b/common/layer_switch.c
index 815d1e5f2..a5d426a89 100644
--- a/common/layer_switch.c
+++ b/common/layer_switch.c
@@ -24,6 +24,7 @@ void default_layer_set(uint8_t layer)
24} 24}
25 25
26 26
27#ifndef NO_ACTION_KEYMAP
27/* 28/*
28 * Keymap Layer (0-15) 29 * Keymap Layer (0-15)
29 */ 30 */
@@ -95,6 +96,7 @@ void keymap_debug(void)
95{ 96{
96 debug_hex16(keymap_stat); debug("("); debug_dec(keymap_get_layer()); debug(")"); 97 debug_hex16(keymap_stat); debug("("); debug_dec(keymap_get_layer()); debug(")");
97} 98}
99#endif
98 100
99 101
100 102
@@ -189,6 +191,7 @@ action_t layer_switch_get_action(key_t key)
189 } 191 }
190#endif 192#endif
191 193
194#ifndef NO_ACTION_KEYMAP
192 /* keymap: top layer first */ 195 /* keymap: top layer first */
193 for (int8_t i = 15; i >= 0; i--) { 196 for (int8_t i = 15; i >= 0; i--) {
194 if (keymap_stat & (1<<i)) { 197 if (keymap_stat & (1<<i)) {
@@ -198,6 +201,7 @@ action_t layer_switch_get_action(key_t key)
198 } 201 }
199 } 202 }
200 } 203 }
204#endif
201 205
202 /* default layer */ 206 /* default layer */
203 action = action_for_key(default_layer, key); 207 action = action_for_key(default_layer, key);
diff --git a/common/layer_switch.h b/common/layer_switch.h
index 5de6cb01c..eb4cf61ba 100644
--- a/common/layer_switch.h
+++ b/common/layer_switch.h
@@ -38,6 +38,7 @@ void default_layer_set(uint8_t layer);
38/* 38/*
39 * Keymap Layer 39 * Keymap Layer
40 */ 40 */
41#ifndef NO_ACTION_KEYMAP
41extern uint16_t keymap_stat; 42extern uint16_t keymap_stat;
42/* return current active layer */ 43/* return current active layer */
43uint8_t keymap_get_layer(void); 44uint8_t keymap_get_layer(void);
@@ -52,6 +53,20 @@ void keymap_or(uint16_t stat);
52void keymap_and(uint16_t stat); 53void keymap_and(uint16_t stat);
53void keymap_xor(uint16_t stat); 54void keymap_xor(uint16_t stat);
54void keymap_debug(void); 55void keymap_debug(void);
56#else
57#define keymap_stat 0
58#define keymap_get_layer()
59#define keymap_clear()
60#define keymap_set(stat)
61#define keymap_move(layer)
62#define keymap_on(layer)
63#define keymap_off(layer)
64#define keymap_invert(layer)
65#define keymap_or(stat)
66#define keymap_and(stat)
67#define keymap_xor(stat)
68#define keymap_debug()
69#endif
55 70
56 71
57/* 72/*
diff --git a/keyboard/gh60/config.h b/keyboard/gh60/config.h
index 2e2387aa2..7da5c6bbf 100644
--- a/keyboard/gh60/config.h
+++ b/keyboard/gh60/config.h
@@ -61,6 +61,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
61/* disable print */ 61/* disable print */
62//#define NO_PRINT 62//#define NO_PRINT
63 63
64#define NO_ACTION_KEYMAP
64#define NO_ACTION_OVERLAY 65#define NO_ACTION_OVERLAY
65#define NO_ACTION_TAPPING 66#define NO_ACTION_TAPPING
66#define NO_ACTION_MACRO 67#define NO_ACTION_MACRO