* Move to local/stack allocated event API that doesn't require dynamic allocation/freeing. * Disable heap, we no longer use alloc/free unless using LVGL. * Tons of refactors all over to account for the new event approach.
23 lines
520 B
C
23 lines
520 B
C
/*
|
|
* Copyright (c) 2020 The ZMK Contributors
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <zephyr/kernel.h>
|
|
#include <zmk/event_manager.h>
|
|
|
|
struct zmk_layer_state_changed {
|
|
uint8_t layer;
|
|
bool state;
|
|
int64_t timestamp;
|
|
};
|
|
|
|
ZMK_EVENT_DECLARE(zmk_layer_state_changed);
|
|
|
|
static inline int raise_layer_state_changed(uint8_t layer, bool state) {
|
|
return raise_zmk_layer_state_changed((struct zmk_layer_state_changed){
|
|
.layer = layer, .state = state, .timestamp = k_uptime_get()});
|
|
}
|