summaryrefslogtreecommitdiff
path: root/app/src/kscan.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/kscan.c')
-rw-r--r--app/src/kscan.c13
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);
}
}