diff --git a/quantum/layer_lock.c b/quantum/layer_lock.c index 3eaf0305b404..039522478247 100644 --- a/quantum/layer_lock.c +++ b/quantum/layer_lock.c @@ -31,6 +31,11 @@ void layer_lock_task(void) { } # endif // LAYER_LOCK_IDLE_TIMEOUT > 0 +bool are_any_layer_locked(void) { + return locked_layers != 0; +} + + bool is_layer_locked(uint8_t layer) { return locked_layers & ((layer_state_t)1 << layer); } diff --git a/quantum/layer_lock.h b/quantum/layer_lock.h index 40abfa1ffd44..d5235754b027 100644 --- a/quantum/layer_lock.h +++ b/quantum/layer_lock.h @@ -85,6 +85,9 @@ */ #ifndef NO_ACTION_LAYER +/** Returns true if a layer is currently locked. */ +bool are_any_layer_locked(void); + /** Returns true if `layer` is currently locked. */ bool is_layer_locked(uint8_t layer);