diff options
author | Pete Johanson <peter@peterjohanson.com> | 2020-06-30 16:42:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-30 16:42:52 -0400 |
commit | 4c5ed99381c47633c009177639896eebfb7e2002 (patch) | |
tree | b0c6ddd628fd4357e04905182ba6f0e620f5390e /app/src/kscan.c | |
parent | b23a73e4888856fe476ab5fee655f8ccf6626e4c (diff) | |
parent | 7bf8621d5bea45c57dbbf0fac927d3332177b81b (diff) |
Merge pull request #42 from petejohanson/core/event-manager-refactor
Refactor to generic event manager, ditch "global behaviors" as a concept.
Diffstat (limited to 'app/src/kscan.c')
-rw-r--r-- | app/src/kscan.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/app/src/kscan.c b/app/src/kscan.c index 29a6019..63713f1 100644 --- a/app/src/kscan.c +++ b/app/src/kscan.c @@ -12,7 +12,8 @@ LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL); #include <zmk/matrix_transform.h> -#include <zmk/events.h> +#include <zmk/event-manager.h> +#include <zmk/events/position-state-changed.h> #define ZMK_KSCAN_EVENT_STATE_PRESSED 0 #define ZMK_KSCAN_EVENT_STATE_RELEASED 1 @@ -50,12 +51,12 @@ void zmk_kscan_process_msgq(struct k_work *item) { bool pressed = (ev.state == ZMK_KSCAN_EVENT_STATE_PRESSED); u32_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")); - if (pressed) { - zmk_events_position_pressed(position); - } else { - zmk_events_position_released(position); - } + pos_ev = new_position_state_changed(); + pos_ev->state = pressed; + pos_ev->position = position; + ZMK_EVENT_RAISE(pos_ev); } } |