diff options
| author | tmk <nobody@nowhere> | 2013-03-20 00:56:54 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2013-03-20 01:45:04 +0900 |
| commit | dbcac865b9faef2286ca2b0195ea08cf550d83ae (patch) | |
| tree | ef97a69f18f1275966d318f69c70edf8dcb7ecaf | |
| parent | ecb7550a91a7fb9a2e7e717f3c0d40d30fd92121 (diff) | |
| download | qmk_firmware-dbcac865b9faef2286ca2b0195ea08cf550d83ae.tar.gz qmk_firmware-dbcac865b9faef2286ca2b0195ea08cf550d83ae.zip | |
Add NO_ACTION_KEYMAP config option
| -rw-r--r-- | common/action.c | 2 | ||||
| -rw-r--r-- | common/layer_switch.c | 4 | ||||
| -rw-r--r-- | common/layer_switch.h | 15 | ||||
| -rw-r--r-- | keyboard/gh60/config.h | 1 |
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 | ||
| 41 | extern uint16_t keymap_stat; | 42 | extern uint16_t keymap_stat; |
| 42 | /* return current active layer */ | 43 | /* return current active layer */ |
| 43 | uint8_t keymap_get_layer(void); | 44 | uint8_t keymap_get_layer(void); |
| @@ -52,6 +53,20 @@ void keymap_or(uint16_t stat); | |||
| 52 | void keymap_and(uint16_t stat); | 53 | void keymap_and(uint16_t stat); |
| 53 | void keymap_xor(uint16_t stat); | 54 | void keymap_xor(uint16_t stat); |
| 54 | void keymap_debug(void); | 55 | void 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 |
