forked from kofal.net/zmk
refactor(core): Extra event payloads to own types, refactor API.
* 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.
This commit is contained in:
@@ -9,20 +9,16 @@
|
||||
#include <zephyr.h>
|
||||
#include <zmk/event_manager.h>
|
||||
|
||||
struct layer_state_changed {
|
||||
struct zmk_event_header header;
|
||||
struct zmk_layer_state_changed {
|
||||
uint8_t layer;
|
||||
bool state;
|
||||
int64_t timestamp;
|
||||
};
|
||||
|
||||
ZMK_EVENT_DECLARE(layer_state_changed);
|
||||
ZMK_EVENT_DECLARE(zmk_layer_state_changed);
|
||||
|
||||
static inline struct layer_state_changed *create_layer_state_changed(uint8_t layer, bool state) {
|
||||
struct layer_state_changed *ev = new_layer_state_changed();
|
||||
ev->layer = layer;
|
||||
ev->state = state;
|
||||
ev->timestamp = k_uptime_get();
|
||||
|
||||
return ev;
|
||||
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()});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user