~ruther/qmk_firmware

bad839e6ac815f9fc0836d8170b716838fbc87b7 — Colin T.A. Gray 7 years ago 3aec9a4
make 'layer_state_set' visible to user code
2 files changed, 13 insertions(+), 6 deletions(-)

M tmk_core/common/action_layer.c
M tmk_core/common/action_layer.h
M tmk_core/common/action_layer.c => tmk_core/common/action_layer.c +1 -1
@@ 73,7 73,7 @@ uint32_t layer_state_set_kb(uint32_t state) {
    return layer_state_set_user(state);
}

static void layer_state_set(uint32_t state)
void layer_state_set(uint32_t state)
{
    state = layer_state_set_kb(state);
    dprint("layer_state: ");

M tmk_core/common/action_layer.h => tmk_core/common/action_layer.h +12 -5
@@ 49,10 49,13 @@ void default_layer_xor(uint32_t state);
 */
#ifndef NO_ACTION_LAYER
extern uint32_t layer_state;
void layer_debug(void);
void layer_clear(void);

void layer_state_set(uint32_t state);
bool layer_state_is(uint8_t layer);
bool layer_state_cmp(uint32_t layer1, uint8_t layer2);

void layer_debug(void);
void layer_clear(void);
void layer_move(uint8_t layer);
void layer_on(uint8_t layer);
void layer_off(uint8_t layer);


@@ 62,17 65,21 @@ void layer_or(uint32_t state);
void layer_and(uint32_t state);
void layer_xor(uint32_t state);
#else
#define layer_state             0
#define layer_state                    0

#define layer_state_set(layer)
#define layer_state_is(layer)          (layer == 0)
#define layer_state_cmp(state, layer)  (state == 0 ? layer == 0 : (state & 1UL << layer) != 0)

#define layer_debug()
#define layer_clear()
#define layer_move(layer)
#define layer_on(layer)
#define layer_off(layer)
#define layer_invert(layer)

#define layer_or(state)
#define layer_and(state)
#define layer_xor(state)
#define layer_debug()

__attribute__((weak))
uint32_t layer_state_set_user(uint32_t state);