summaryrefslogtreecommitdiff
path: root/app/include
diff options
context:
space:
mode:
authorPete Johanson <peter@peterjohanson.com>2020-06-30 10:43:09 -0400
committerPete Johanson <peter@peterjohanson.com>2020-06-30 10:43:09 -0400
commit96ec16da9246c3c7c07986a0c6a2900d3bbfddaa (patch)
tree436ee8d582e13ea76cde1e56c118c69d97d6d616 /app/include
parent9a991bf019d6f723bc4230822852efa78a05be49 (diff)
Modifier event, tweaks for linker script.
Diffstat (limited to 'app/include')
-rw-r--r--app/include/linker/zmk-events.ld6
-rw-r--r--app/include/zmk/events.h6
-rw-r--r--app/include/zmk/events/keycode-state-changed.h12
-rw-r--r--app/include/zmk/events/modifiers-state-changed.h22
4 files changed, 33 insertions, 13 deletions
diff --git a/app/include/linker/zmk-events.ld b/app/include/linker/zmk-events.ld
index f1ee9f7..f2bf833 100644
--- a/app/include/linker/zmk-events.ld
+++ b/app/include/linker/zmk-events.ld
@@ -1,16 +1,10 @@
#include <linker/linker-defs.h>
- SECTION_PROLOGUE(event_types,,)
- {
__event_type_start = .; \
KEEP(*(".event_type")); \
__event_type_end = .; \
- } GROUP_LINK_IN(ROMABLE_REGION)
- SECTION_PROLOGUE(event_subscriptions,,)
- {
__event_subscriptions_start = .; \
KEEP(*(".event_subscription")); \
__event_subscriptions_end = .; \
- } GROUP_LINK_IN(ROMABLE_REGION)
diff --git a/app/include/zmk/events.h b/app/include/zmk/events.h
index 5be2beb..178686c 100644
--- a/app/include/zmk/events.h
+++ b/app/include/zmk/events.h
@@ -2,14 +2,8 @@
#include <zmk/keys.h>
-int zmk_events_position_pressed(u32_t position);
-int zmk_events_position_released(u32_t position);
-int zmk_events_keycode_pressed(u8_t usage_page, u32_t keycode);
-int zmk_events_keycode_released(u8_t usage_page, u32_t keycode);
int zmk_events_modifiers_pressed(zmk_mod_flags modifiers);
int zmk_events_modifiers_released(zmk_mod_flags modifiers);
-int zmk_events_consumer_key_pressed(u32_t usage);
-int zmk_events_consumer_key_released(u32_t usage);
// TODO: Encoders?
// TODO: Sensors? \ No newline at end of file
diff --git a/app/include/zmk/events/keycode-state-changed.h b/app/include/zmk/events/keycode-state-changed.h
index 48cdddc..dc6e37e 100644
--- a/app/include/zmk/events/keycode-state-changed.h
+++ b/app/include/zmk/events/keycode-state-changed.h
@@ -10,4 +10,14 @@ struct keycode_state_changed {
bool state;
};
-ZMK_EVENT_DECLARE(keycode_state_changed); \ No newline at end of file
+ZMK_EVENT_DECLARE(keycode_state_changed);
+
+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->state = state;
+
+ return ev;
+} \ No newline at end of file
diff --git a/app/include/zmk/events/modifiers-state-changed.h b/app/include/zmk/events/modifiers-state-changed.h
new file mode 100644
index 0000000..57596b2
--- /dev/null
+++ b/app/include/zmk/events/modifiers-state-changed.h
@@ -0,0 +1,22 @@
+#pragma once
+
+#include <zephyr.h>
+#include <zmk/keys.h>
+#include <zmk/event-manager.h>
+
+struct modifiers_state_changed {
+ struct zmk_event_header header;
+ zmk_mod_flags modifiers;
+ bool state;
+};
+
+ZMK_EVENT_DECLARE(modifiers_state_changed);
+
+inline struct modifiers_state_changed* create_modifiers_state_changed(zmk_mod_flags modifiers, bool state)
+{
+ struct modifiers_state_changed* ev = new_modifiers_state_changed();
+ ev->modifiers = modifiers;
+ ev->state = state;
+
+ return ev;
+} \ No newline at end of file