forked from kofal.net/zmk
initial implementation for modifiers
https://github.com/zmkfirmware/zmk/issues/86
This commit is contained in:
committed by
Pete Johanson
parent
a9e729b427
commit
4f258efbf1
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user