From 9a991bf019d6f723bc4230822852efa78a05be49 Mon Sep 17 00:00:00 2001 From: Pete Johanson Date: Tue, 30 Jun 2020 00:31:09 -0400 Subject: Initial event manager work, and two first events. * Add initial event manager implementation, roughly mimicking Nordic's API. * Add `position_state_changed` and `keycode_state_changed` events. * Hook up HID and keymap to new events instead of using behaviour global event crazy. --- app/include/linker/zmk-events.ld | 16 ++++++++++++++++ app/include/linker/zmk-linker-defs.h | 6 ++++++ 2 files changed, 22 insertions(+) create mode 100644 app/include/linker/zmk-events.ld create mode 100644 app/include/linker/zmk-linker-defs.h (limited to 'app/include/linker') diff --git a/app/include/linker/zmk-events.ld b/app/include/linker/zmk-events.ld new file mode 100644 index 0000000..f1ee9f7 --- /dev/null +++ b/app/include/linker/zmk-events.ld @@ -0,0 +1,16 @@ +#include + + 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/linker/zmk-linker-defs.h b/app/include/linker/zmk-linker-defs.h new file mode 100644 index 0000000..61b6741 --- /dev/null +++ b/app/include/linker/zmk-linker-defs.h @@ -0,0 +1,6 @@ + + +#define→EVENT_TYPE_SECTIONS()→ → → → \ +→ → __event_type_start = .;→ → \ +→ → KEEP(*(".event_type_*"));→ → \ +→ → __event_type_end = .;→→ → \ -- cgit v1.2.3