3fe2acc2d1
* Make it easier to use *just* event payloads by defining the data, and then having event manager macros generate "wrapper structs" * Improve is_*/cast_* APIs to hide details of full event struct. * Create `zmk_event_t` typedef to pass to event handlers. * Bring event names inline w/ consistent `zmk_` prefix.
24 lines
625 B
C
24 lines
625 B
C
/*
|
|
* Copyright (c) 2020 The ZMK Contributors
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <zephyr.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 struct zmk_layer_state_changed_event *create_layer_state_changed(uint8_t layer,
|
|
bool state) {
|
|
return new_zmk_layer_state_changed((struct zmk_layer_state_changed){
|
|
.layer = layer, .state = state, .timestamp = k_uptime_get()});
|
|
}
|