summaryrefslogtreecommitdiff
path: root/app/include
diff options
context:
space:
mode:
Diffstat (limited to 'app/include')
-rw-r--r--app/include/dt-bindings/zmk/keys.h13
-rw-r--r--app/include/dt-bindings/zmk/kscan-mock.h (renamed from app/include/zmk/kscan-mock.h)0
-rw-r--r--app/include/dt-bindings/zmk/reset.h12
-rw-r--r--app/include/zmk/ble.h2
-rw-r--r--app/include/zmk/event-manager.h23
-rw-r--r--app/include/zmk/keymap.h2
6 files changed, 43 insertions, 9 deletions
diff --git a/app/include/dt-bindings/zmk/keys.h b/app/include/dt-bindings/zmk/keys.h
index e2c3160..cd9261d 100644
--- a/app/include/dt-bindings/zmk/keys.h
+++ b/app/include/dt-bindings/zmk/keys.h
@@ -50,12 +50,12 @@
#define LBKT 0x2F
#define RBKT 0x30
#define BSLH 0x31
-
+#define TILD 0x32
#define SCLN 0x33
#define QUOT 0x34
#define GRAV 0x35
#define CMMA 0x36
-#define DOT 0x37
+#define DOT 0x37
#define FSLH 0x38
#define CLCK 0x39
#define F1 0x3A
@@ -92,6 +92,11 @@
#define GUI 0x65
+#define UNDO 0x7A
+#define CUT 0x7B
+#define COPY 0x7C
+#define PSTE 0x7D
+
#define CURU 0xB4
#define LPRN 0xB6
@@ -141,6 +146,4 @@
#define MOD_RCTL (1 << 0x04)
#define MOD_RSFT (1 << 0x05)
#define MOD_RALT (1 << 0x06)
-#define MOD_RGUI (1 << 0x07)
-
-#define ZK_IS_CONSUMER(k) (ZK_KEY(k) >= 0x100)
+#define MOD_RGUI (1 << 0x07) \ No newline at end of file
diff --git a/app/include/zmk/kscan-mock.h b/app/include/dt-bindings/zmk/kscan-mock.h
index d481899..d481899 100644
--- a/app/include/zmk/kscan-mock.h
+++ b/app/include/dt-bindings/zmk/kscan-mock.h
diff --git a/app/include/dt-bindings/zmk/reset.h b/app/include/dt-bindings/zmk/reset.h
new file mode 100644
index 0000000..b513649
--- /dev/null
+++ b/app/include/dt-bindings/zmk/reset.h
@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#define RST_WARM 0x00
+#define RST_COLD 0x01
+
+// AdaFruit nrf52 Bootloader Specific. See https://github.com/adafruit/Adafruit_nRF52_Bootloader/blob/d6b28e66053eea467166f44875e3c7ec741cb471/src/main.c#L107
+
+#define RST_UF2 0x57 \ No newline at end of file
diff --git a/app/include/zmk/ble.h b/app/include/zmk/ble.h
index a77237d..e760ed7 100644
--- a/app/include/zmk/ble.h
+++ b/app/include/zmk/ble.h
@@ -3,5 +3,5 @@
#include <zmk/keys.h>
-int zmk_ble_init();
+int zmk_ble_unpair_all();
bool zmk_ble_handle_key_user(struct zmk_key_event *key_event);
diff --git a/app/include/zmk/event-manager.h b/app/include/zmk/event-manager.h
index 2ef55e9..d9a56a4 100644
--- a/app/include/zmk/event-manager.h
+++ b/app/include/zmk/event-manager.h
@@ -17,8 +17,12 @@ struct zmk_event_type
struct zmk_event_header {
const struct zmk_event_type* event;
+ u8_t last_listener_index;
};
+#define ZMK_EV_EVENT_HANDLED 1
+#define ZMK_EV_EVENT_CAPTURED 2
+
typedef int (*zmk_listener_callback_t)(const struct zmk_event_header *eh);
struct zmk_listener
{
@@ -33,7 +37,7 @@ struct zmk_event_subscription {
#define ZMK_EVENT_DECLARE(event_type) \
struct event_type* new_##event_type(); \
bool is_##event_type(const struct zmk_event_header *eh); \
- const struct event_type* cast_##event_type(const struct zmk_event_header *eh); \
+ struct event_type* cast_##event_type(const struct zmk_event_header *eh); \
extern const struct zmk_event_type zmk_event_##event_type;
#define ZMK_EVENT_IMPL(event_type) \
@@ -49,8 +53,8 @@ struct zmk_event_subscription {
bool is_##event_type(const struct zmk_event_header *eh) { \
return eh->event == &zmk_event_##event_type; \
}; \
- const struct event_type* cast_##event_type(const struct zmk_event_header *eh) {\
- return (const struct event_type*)eh; \
+ struct event_type* cast_##event_type(const struct zmk_event_header *eh) {\
+ return (struct event_type*)eh; \
};
@@ -68,4 +72,17 @@ struct zmk_event_subscription {
#define ZMK_EVENT_RAISE(ev) \
zmk_event_manager_raise((struct zmk_event_header *)ev);
+#define ZMK_EVENT_RAISE_AFTER(ev, mod) \
+ zmk_event_manager_raise_after((struct zmk_event_header *)ev, &zmk_listener_##mod);
+
+
+#define ZMK_EVENT_RAISE_AT(ev, mod) \
+ zmk_event_manager_raise_at((struct zmk_event_header *)ev, &zmk_listener_##mod);
+
+#define ZMK_EVENT_RELEASE(ev) \
+ zmk_event_manager_release((struct zmk_event_header *)ev);
+
int zmk_event_manager_raise(struct zmk_event_header *event);
+int zmk_event_manager_raise_after(struct zmk_event_header *event, const struct zmk_listener *listener);
+int zmk_event_manager_raise_at(struct zmk_event_header *event, const struct zmk_listener *listener);
+int zmk_event_manager_release(struct zmk_event_header *event);
diff --git a/app/include/zmk/keymap.h b/app/include/zmk/keymap.h
index 4a6bb37..c1f6393 100644
--- a/app/include/zmk/keymap.h
+++ b/app/include/zmk/keymap.h
@@ -1,6 +1,8 @@
#pragma once
+bool zmk_keymap_layer_active(u8_t layer);
int zmk_keymap_layer_activate(u8_t layer);
int zmk_keymap_layer_deactivate(u8_t layer);
+int zmk_keymap_layer_toggle(u8_t layer);
int zmk_keymap_position_state_changed(u32_t position, bool pressed);