From b624f32f944acdc59dcb130674c09090c5c404cb Mon Sep 17 00:00:00 2001 From: skullY Date: Fri, 30 Aug 2019 11:19:03 -0700 Subject: clang-format changes --- tmk_core/common/action_layer.c | 234 ++++++++++++++++------------------------- 1 file changed, 93 insertions(+), 141 deletions(-) (limited to 'tmk_core/common/action_layer.c') diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c index dfcbc110ad..07d78c56d4 100644 --- a/tmk_core/common/action_layer.c +++ b/tmk_core/common/action_layer.c @@ -5,12 +5,11 @@ #include "action_layer.h" #ifdef DEBUG_ACTION -#include "debug.h" +# include "debug.h" #else -#include "nodebug.h" +# include "nodebug.h" #endif - /** \brief Default Layer State */ layer_state_t default_layer_state = 0; @@ -19,34 +18,30 @@ layer_state_t default_layer_state = 0; * * Run user code on default layer state change */ -__attribute__((weak)) -layer_state_t default_layer_state_set_user(layer_state_t state) { - return state; -} +__attribute__((weak)) layer_state_t default_layer_state_set_user(layer_state_t state) { return state; } /** \brief Default Layer State Set At Keyboard Level * * Run keyboard code on default layer state change */ -__attribute__((weak)) -layer_state_t default_layer_state_set_kb(layer_state_t state) { - return default_layer_state_set_user(state); -} +__attribute__((weak)) layer_state_t default_layer_state_set_kb(layer_state_t state) { return default_layer_state_set_user(state); } /** \brief Default Layer State Set * * Static function to set the default layer state, prints debug info and clears keys */ static void default_layer_state_set(layer_state_t state) { - state = default_layer_state_set_kb(state); - debug("default_layer_state: "); - default_layer_debug(); debug(" to "); - default_layer_state = state; - default_layer_debug(); debug("\n"); + state = default_layer_state_set_kb(state); + debug("default_layer_state: "); + default_layer_debug(); + debug(" to "); + default_layer_state = state; + default_layer_debug(); + debug("\n"); #ifdef STRICT_LAYER_RELEASE - clear_keyboard_but_mods(); // To avoid stuck keys + clear_keyboard_but_mods(); // To avoid stuck keys #else - clear_keyboard_but_mods_and_keys(); // Don't reset held keys + clear_keyboard_but_mods_and_keys(); // Don't reset held keys #endif } @@ -54,43 +49,32 @@ static void default_layer_state_set(layer_state_t state) { * * Print out the hex value of the 32-bit default layer state, as well as the value of the highest bit. */ -void default_layer_debug(void) { - dprintf("%08lX(%u)", default_layer_state, biton32(default_layer_state)); -} +void default_layer_debug(void) { dprintf("%08lX(%u)", default_layer_state, biton32(default_layer_state)); } /** \brief Default Layer Set * * Sets the default layer state. */ -void default_layer_set(layer_state_t state) { - default_layer_state_set(state); -} +void default_layer_set(layer_state_t state) { default_layer_state_set(state); } #ifndef NO_ACTION_LAYER /** \brief Default Layer Or * * Turns on the default layer based on matching bits between specifed layer and existing layer state */ -void default_layer_or(layer_state_t state) { - default_layer_state_set(default_layer_state | state); -} +void default_layer_or(layer_state_t state) { default_layer_state_set(default_layer_state | state); } /** \brief Default Layer And * * Turns on default layer based on matching enabled bits between specifed layer and existing layer state */ -void default_layer_and(layer_state_t state) { - default_layer_state_set(default_layer_state & state); -} +void default_layer_and(layer_state_t state) { default_layer_state_set(default_layer_state & state); } /** \brief Default Layer Xor * * Turns on default layer based on non-matching bits between specifed layer and existing layer state */ -void default_layer_xor(layer_state_t state) { - default_layer_state_set(default_layer_state ^ state); -} +void default_layer_xor(layer_state_t state) { default_layer_state_set(default_layer_state ^ state); } #endif - #ifndef NO_ACTION_LAYER /** \brief Keymap Layer State */ @@ -100,123 +84,101 @@ layer_state_t layer_state = 0; * * Runs user code on layer state change */ -__attribute__((weak)) -layer_state_t layer_state_set_user(layer_state_t state) { - return state; -} +__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { return state; } /** \brief Layer state set keyboard * * Runs keyboard code on layer state change */ -__attribute__((weak)) -layer_state_t layer_state_set_kb(layer_state_t state) { - return layer_state_set_user(state); -} +__attribute__((weak)) layer_state_t layer_state_set_kb(layer_state_t state) { return layer_state_set_user(state); } /** \brief Layer state set * * Sets the layer to match the specifed state (a bitmask) */ void layer_state_set(layer_state_t state) { - state = layer_state_set_kb(state); - dprint("layer_state: "); - layer_debug(); dprint(" to "); - layer_state = state; - layer_debug(); dprintln(); -#ifdef STRICT_LAYER_RELEASE - clear_keyboard_but_mods(); // To avoid stuck keys -#else - clear_keyboard_but_mods_and_keys(); // Don't reset held keys -#endif + state = layer_state_set_kb(state); + dprint("layer_state: "); + layer_debug(); + dprint(" to "); + layer_state = state; + layer_debug(); + dprintln(); +# ifdef STRICT_LAYER_RELEASE + clear_keyboard_but_mods(); // To avoid stuck keys +# else + clear_keyboard_but_mods_and_keys(); // Don't reset held keys +# endif } /** \brief Layer clear * * Turn off all layers */ -void layer_clear(void) { - layer_state_set(0); -} +void layer_clear(void) { layer_state_set(0); } /** \brief Layer state is * * Return whether the given state is on (it might still be shadowed by a higher state, though) */ -bool layer_state_is(uint8_t layer) { - return layer_state_cmp(layer_state, layer); -} +bool layer_state_is(uint8_t layer) { return layer_state_cmp(layer_state, layer); } /** \brief Layer state compare * * Used for comparing layers {mostly used for unit testing} */ bool layer_state_cmp(layer_state_t cmp_layer_state, uint8_t layer) { - if (!cmp_layer_state) { return layer == 0; } - return (cmp_layer_state & (1UL<= 0; i--) { - if (layers & (1UL << i)) { - action = action_for_key(i, key); - if (action.code != ACTION_TRANSPARENT) { - return i; - } + action_t action; + action.code = ACTION_TRANSPARENT; + + layer_state_t layers = layer_state | default_layer_state; + /* check top layer first */ + for (int8_t i = sizeof(layer_state_t) * 8 - 1; i >= 0; i--) { + if (layers & (1UL << i)) { + action = action_for_key(i, key); + if (action.code != ACTION_TRANSPARENT) { + return i; + } + } } - } - /* fall back to layer 0 */ - return 0; + /* fall back to layer 0 */ + return 0; #else - return biton32(default_layer_state); + return biton32(default_layer_state); #endif } @@ -322,6 +276,4 @@ uint8_t layer_switch_get_layer(keypos_t key) { * * Gets action code based on key position */ -action_t layer_switch_get_action(keypos_t key) { - return action_for_key(layer_switch_get_layer(key), key); -} +action_t layer_switch_get_action(keypos_t key) { return action_for_key(layer_switch_get_layer(key), key); } -- cgit v1.2.3 From c1970e284d9718a62a973442ec9f0801365cff60 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 9 Nov 2019 02:23:26 +0000 Subject: Fix LAYER_STATE_8BIT compile issues (#7304) --- tmk_core/common/action_layer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tmk_core/common/action_layer.c') diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c index 07d78c56d4..4c7d15cd50 100644 --- a/tmk_core/common/action_layer.c +++ b/tmk_core/common/action_layer.c @@ -268,7 +268,7 @@ uint8_t layer_switch_get_layer(keypos_t key) { /* fall back to layer 0 */ return 0; #else - return biton32(default_layer_state); + return get_highest_layer(default_layer_state); #endif } -- cgit v1.2.3