123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- #ifndef ACTION_LAYER_H
- #define ACTION_LAYER_H
- #include <stdint.h>
- #include "keyboard.h"
- #include "action.h"
- extern uint32_t default_layer_state;
- void default_layer_debug(void);
- void default_layer_set(uint32_t state);
- __attribute__((weak))
- uint32_t default_layer_state_set_kb(uint32_t state);
- __attribute__((weak))
- uint32_t default_layer_state_set_user(uint32_t state);
- #ifndef NO_ACTION_LAYER
- void default_layer_or(uint32_t state);
- void default_layer_and(uint32_t state);
- void default_layer_xor(uint32_t state);
- #else
- #define default_layer_or(state)
- #define default_layer_and(state)
- #define default_layer_xor(state)
- #endif
- #ifndef NO_ACTION_LAYER
- extern uint32_t layer_state;
- 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);
- void layer_invert(uint8_t layer);
- 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_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)
- #endif
- uint32_t layer_state_set_user(uint32_t state);
- uint32_t layer_state_set_kb(uint32_t state);
- #if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
- #define MAX_LAYER_BITS 5
- void update_source_layers_cache(keypos_t key, uint8_t layer);
- uint8_t read_source_layers_cache(keypos_t key);
- #endif
- action_t store_or_get_action(bool pressed, keypos_t key);
- uint8_t layer_switch_get_layer(keypos_t key);
- action_t layer_switch_get_action(keypos_t key);
- #endif
|