summaryrefslogtreecommitdiff
path: root/app/include/zmk/events/keycode-state-changed.h
diff options
context:
space:
mode:
authorOkke Formsma <okke@formsma.nl>2020-09-02 22:30:09 +0200
committerPete Johanson <peter@peterjohanson.com>2020-11-03 00:19:37 -0500
commit4f258efbf1602e212a808cc10915050a1b46e140 (patch)
treeed7601514e31895139ab91314610b2d570b1d326 /app/include/zmk/events/keycode-state-changed.h
parenta9e729b427800fab230fc1fcdacd3cbdb6bedc19 (diff)
initial implementation for modifiers
https://github.com/zmkfirmware/zmk/issues/86
Diffstat (limited to 'app/include/zmk/events/keycode-state-changed.h')
-rw-r--r--app/include/zmk/events/keycode-state-changed.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/app/include/zmk/events/keycode-state-changed.h b/app/include/zmk/events/keycode-state-changed.h
index 1e2c24e..493f075 100644
--- a/app/include/zmk/events/keycode-state-changed.h
+++ b/app/include/zmk/events/keycode-state-changed.h
@@ -7,22 +7,24 @@
#pragma once
#include <zephyr.h>
+#include <dt-bindings/zmk/keys.h>
#include <zmk/event-manager.h>
struct keycode_state_changed {
struct zmk_event_header header;
u8_t usage_page;
u32_t keycode;
+ u8_t implicit_modifiers;
bool state;
};
ZMK_EVENT_DECLARE(keycode_state_changed);
-inline struct keycode_state_changed *create_keycode_state_changed(u8_t usage_page, u32_t keycode,
- bool state) {
+static inline struct keycode_state_changed *create_keycode_state_changed(u8_t usage_page, u32_t keycode, bool state) {
struct keycode_state_changed *ev = new_keycode_state_changed();
ev->usage_page = usage_page;
- ev->keycode = keycode;
+ ev->keycode = STRIP_MODS(keycode);
+ ev->implicit_modifiers = SELECT_MODS(keycode);
ev->state = state;
return ev;
-} \ No newline at end of file
+}