diff options
Diffstat (limited to 'app/include/zmk')
-rw-r--r-- | app/include/zmk/events/keycode-state-changed.h | 10 | ||||
-rw-r--r-- | app/include/zmk/hid.h | 4 |
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(); |