summaryrefslogtreecommitdiff
path: root/app/src/kscan.c
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2021-01-18 00:35:56 -0500
committerPete Johanson <peter@peterjohanson.com>2021-01-20 07:06:11 -0500
commit3fe2acc2d191006fa6309191ee99b2e4e249ed08 (patch)
tree4994508fdc58daee4629c671e07e689b6332bd32 /app/src/kscan.c
parent003db892adadb7b760f43411d7154fe60bf3556d (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.c7
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()}));
}
}