summaryrefslogtreecommitdiff
path: root/app/include/zmk
diff options
context:
space:
mode:
Diffstat (limited to 'app/include/zmk')
-rw-r--r--app/include/zmk/events/keycode-state-changed.h10
-rw-r--r--app/include/zmk/hid.h4
2 files changed, 8 insertions, 6 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
+}
diff --git a/app/include/zmk/hid.h b/app/include/zmk/hid.h
index fd09a6f..2426c2d 100644
--- a/app/include/zmk/hid.h
+++ b/app/include/zmk/hid.h
@@ -164,8 +164,8 @@ struct zmk_hid_consumer_report {
int zmk_hid_register_mod(zmk_mod modifier);
int zmk_hid_unregister_mod(zmk_mod modifier);
-int zmk_hid_register_mods(zmk_mod_flags modifiers);
-int zmk_hid_unregister_mods(zmk_mod_flags modifiers);
+int zmk_hid_implicit_modifiers_press(zmk_mod_flags implicit_modifiers);
+int zmk_hid_implicit_modifiers_release();
int zmk_hid_keypad_press(zmk_key key);
int zmk_hid_keypad_release(zmk_key key);
void zmk_hid_keypad_clear();