diff options
author | Pete Johanson <peter@peterjohanson.com> | 2021-01-18 00:35:56 -0500 |
---|---|---|
committer | Pete Johanson <peter@peterjohanson.com> | 2021-01-20 07:06:11 -0500 |
commit | 3fe2acc2d191006fa6309191ee99b2e4e249ed08 (patch) | |
tree | 4994508fdc58daee4629c671e07e689b6332bd32 /app/src/kscan.c | |
parent | 003db892adadb7b760f43411d7154fe60bf3556d (diff) |
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.
Diffstat (limited to 'app/src/kscan.c')
-rw-r--r-- | app/src/kscan.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/app/src/kscan.c b/app/src/kscan.c index 707b439..0c128b2 100644 --- a/app/src/kscan.c +++ b/app/src/kscan.c @@ -47,13 +47,10 @@ void zmk_kscan_process_msgq(struct k_work *item) { while (k_msgq_get(&zmk_kscan_msgq, &ev, K_NO_WAIT) == 0) { bool pressed = (ev.state == ZMK_KSCAN_EVENT_STATE_PRESSED); uint32_t position = zmk_matrix_transform_row_column_to_position(ev.row, ev.column); - struct position_state_changed *pos_ev; LOG_DBG("Row: %d, col: %d, position: %d, pressed: %s\n", ev.row, ev.column, position, (pressed ? "true" : "false")); - pos_ev = new_position_state_changed(); - pos_ev->data = (struct zmk_position_state_changed_data){ - .state = pressed, .position = position, .timestamp = k_uptime_get()}; - ZMK_EVENT_RAISE(pos_ev); + ZMK_EVENT_RAISE(new_zmk_position_state_changed((struct zmk_position_state_changed){ + .state = pressed, .position = position, .timestamp = k_uptime_get()})); } } |