mirror of
https://github.com/zmkfirmware/zmk.git
synced 2026-03-20 04:55:20 -05:00
fix(core): Address review comments from Joel.
* Fix up some lingering events API tweaks for heap-less event manager.
This commit is contained in:
committed by
Pete Johanson
parent
33209dee1d
commit
644feeb40d
@@ -52,8 +52,8 @@ struct zmk_event_subscription {
|
||||
return *outer; \
|
||||
}; \
|
||||
int raise_##event_type(struct event_type data) { \
|
||||
struct event_type##_event ev = {.data = data}; \
|
||||
ev.header.event = &zmk_event_##event_type; \
|
||||
struct event_type##_event ev = {.data = data, \
|
||||
.header = {.event = &zmk_event_##event_type}}; \
|
||||
return ZMK_EVENT_RAISE(ev); \
|
||||
}; \
|
||||
struct event_type *as_##event_type(const zmk_event_t *eh) { \
|
||||
@@ -71,15 +71,19 @@ struct zmk_event_subscription {
|
||||
.listener = &zmk_listener_##mod, \
|
||||
};
|
||||
|
||||
#define ZMK_EVENT_RAISE(ev) zmk_event_manager_raise((zmk_event_t *)&ev);
|
||||
#define ZMK_ASSERT_EVENT_LIKE(ev) \
|
||||
(__ASSERT((uint8_t *)&(ev).header - (uint8_t *)&ev == 0, \
|
||||
"header must be first element of event"))
|
||||
|
||||
#define ZMK_EVENT_RAISE(ev) (ZMK_ASSERT_EVENT_LIKE(ev), zmk_event_manager_raise(&(ev).header))
|
||||
|
||||
#define ZMK_EVENT_RAISE_AFTER(ev, mod) \
|
||||
zmk_event_manager_raise_after((zmk_event_t *)&ev, &zmk_listener_##mod);
|
||||
(ZMK_ASSERT_EVENT_LIKE(ev), zmk_event_manager_raise_after(&(ev).header, &zmk_listener_##mod))
|
||||
|
||||
#define ZMK_EVENT_RAISE_AT(ev, mod) \
|
||||
zmk_event_manager_raise_at((zmk_event_t *)&ev, &zmk_listener_##mod);
|
||||
(ZMK_ASSERT_EVENT_LIKE(ev), zmk_event_manager_raise_at(&(ev).header, &zmk_listener_##mod))
|
||||
|
||||
#define ZMK_EVENT_RELEASE(ev) zmk_event_manager_release((zmk_event_t *)&ev);
|
||||
#define ZMK_EVENT_RELEASE(ev) (ZMK_ASSERT_EVENT_LIKE(ev), zmk_event_manager_release(&(ev).header))
|
||||
|
||||
int zmk_event_manager_raise(zmk_event_t *event);
|
||||
int zmk_event_manager_raise_after(zmk_event_t *event, const struct zmk_listener *listener);
|
||||
|
||||
@@ -45,3 +45,9 @@ zmk_keycode_state_changed_from_encoded(uint32_t encoded, bool pressed, int64_t t
|
||||
.state = pressed,
|
||||
.timestamp = timestamp};
|
||||
}
|
||||
|
||||
static inline int raise_zmk_keycode_state_changed_from_encoded(uint32_t encoded, bool pressed,
|
||||
int64_t timestamp) {
|
||||
return raise_zmk_keycode_state_changed(
|
||||
zmk_keycode_state_changed_from_encoded(encoded, pressed, timestamp));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user