Change handling of adjust layer to make it more LT(...) friendly. (#1625)
* Change handling of adjust layer to make it more LT(...) friendly. * Update based on feedback from drashna. * Change handling of adjust layer to make it more LT(...) friendly. This reworks handling to make it a little more friendly to include in keymaps.
This commit is contained in:
parent
80ccbc7b54
commit
66e40529aa
3 changed files with 15 additions and 27 deletions
|
@ -780,12 +780,14 @@ void set_single_persistent_default_layer(uint8_t default_layer) {
|
|||
default_layer_set(1U<<default_layer);
|
||||
}
|
||||
|
||||
uint32_t update_tri_layer_state(uint32_t state, uint8_t layer1, uint8_t layer2, uint8_t layer3) {
|
||||
uint32_t mask12 = (1UL << layer1) | (1UL << layer2);
|
||||
uint32_t mask3 = 1UL << layer3;
|
||||
return (state & mask12) == mask12 ? (state | mask3) : (state & ~mask3);
|
||||
}
|
||||
|
||||
void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
|
||||
if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
|
||||
layer_on(layer3);
|
||||
} else {
|
||||
layer_off(layer3);
|
||||
}
|
||||
layer_state_set(update_tri_layer_state(layer_state, layer1, layer2, layer3));
|
||||
}
|
||||
|
||||
void tap_random_base64(void) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue