summaryrefslogtreecommitdiff
path: root/app/include/zmk
diff options
context:
space:
mode:
Diffstat (limited to 'app/include/zmk')
-rw-r--r--app/include/zmk/behavior.h11
-rw-r--r--app/include/zmk/ble.h18
-rw-r--r--app/include/zmk/ble/profile.h16
-rw-r--r--app/include/zmk/display.h2
-rw-r--r--app/include/zmk/endpoints.h6
-rw-r--r--app/include/zmk/event-manager.h79
-rw-r--r--app/include/zmk/events/ble-active-profile-changed.h21
-rw-r--r--app/include/zmk/events/keycode-state-changed.h9
-rw-r--r--app/include/zmk/events/modifiers-state-changed.h10
-rw-r--r--app/include/zmk/events/position-state-changed.h3
-rw-r--r--app/include/zmk/events/sensor-event.h2
-rw-r--r--app/include/zmk/handlers.h6
-rw-r--r--app/include/zmk/hid.h18
-rw-r--r--app/include/zmk/hog.h5
-rw-r--r--app/include/zmk/keymap.h8
-rw-r--r--app/include/zmk/keys.h9
-rw-r--r--app/include/zmk/kscan.h6
-rw-r--r--app/include/zmk/matrix.h24
-rw-r--r--app/include/zmk/matrix_transform.h6
-rw-r--r--app/include/zmk/rgb_underglow.h2
-rw-r--r--app/include/zmk/sensors.h2
-rw-r--r--app/include/zmk/split/bluetooth/service.h6
-rw-r--r--app/include/zmk/split/bluetooth/uuid.h11
-rw-r--r--app/include/zmk/usb.h19
-rw-r--r--app/include/zmk/usb_hid.h14
25 files changed, 218 insertions, 95 deletions
diff --git a/app/include/zmk/behavior.h b/app/include/zmk/behavior.h
index 63edcc9..428ae24 100644
--- a/app/include/zmk/behavior.h
+++ b/app/include/zmk/behavior.h
@@ -1,3 +1,8 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
#pragma once
@@ -5,4 +10,10 @@ struct zmk_behavior_binding {
char *behavior_dev;
u32_t param1;
u32_t param2;
+};
+
+struct zmk_behavior_binding_event {
+ int layer;
+ u32_t position;
+ s64_t timestamp;
}; \ No newline at end of file
diff --git a/app/include/zmk/ble.h b/app/include/zmk/ble.h
index e760ed7..1cf71a7 100644
--- a/app/include/zmk/ble.h
+++ b/app/include/zmk/ble.h
@@ -1,7 +1,25 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
#pragma once
#include <zmk/keys.h>
+#include <zmk/ble/profile.h>
+
+int zmk_ble_clear_bonds();
+int zmk_ble_prof_next();
+int zmk_ble_prof_prev();
+int zmk_ble_prof_select(u8_t index);
+
+bt_addr_le_t *zmk_ble_active_profile_addr();
+char *zmk_ble_active_profile_name();
int zmk_ble_unpair_all();
bool zmk_ble_handle_key_user(struct zmk_key_event *key_event);
+
+#if IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL)
+void zmk_ble_set_peripheral_addr(bt_addr_le_t *addr);
+#endif /* IS_ENABLED(CONFIG_ZMK_SPLIT_BLE_ROLE_CENTRAL) */ \ No newline at end of file
diff --git a/app/include/zmk/ble/profile.h b/app/include/zmk/ble/profile.h
new file mode 100644
index 0000000..1df2743
--- /dev/null
+++ b/app/include/zmk/ble/profile.h
@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <bluetooth/addr.h>
+
+#define ZMK_BLE_PROFILE_NAME_MAX 15
+
+struct zmk_ble_profile {
+ char name[ZMK_BLE_PROFILE_NAME_MAX];
+ bt_addr_le_t peer;
+};
diff --git a/app/include/zmk/display.h b/app/include/zmk/display.h
index 93ac3ff..def4392 100644
--- a/app/include/zmk/display.h
+++ b/app/include/zmk/display.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
diff --git a/app/include/zmk/endpoints.h b/app/include/zmk/endpoints.h
index 4c0f442..aad6265 100644
--- a/app/include/zmk/endpoints.h
+++ b/app/include/zmk/endpoints.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
#include <zmk/keys.h>
diff --git a/app/include/zmk/event-manager.h b/app/include/zmk/event-manager.h
index d9a56a4..4b8f72c 100644
--- a/app/include/zmk/event-manager.h
+++ b/app/include/zmk/event-manager.h
@@ -1,22 +1,21 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
-
+
#pragma once
#include <stddef.h>
#include <kernel.h>
#include <zephyr/types.h>
-struct zmk_event_type
-{
+struct zmk_event_type {
const char *name;
};
struct zmk_event_header {
- const struct zmk_event_type* event;
+ const struct zmk_event_type *event;
u8_t last_listener_index;
};
@@ -24,8 +23,7 @@ struct zmk_event_header {
#define ZMK_EV_EVENT_CAPTURED 2
typedef int (*zmk_listener_callback_t)(const struct zmk_event_header *eh);
-struct zmk_listener
-{
+struct zmk_listener {
zmk_listener_callback_t callback;
};
@@ -34,55 +32,50 @@ struct zmk_event_subscription {
const struct zmk_listener *listener;
};
-#define ZMK_EVENT_DECLARE(event_type) \
- struct event_type* new_##event_type(); \
- bool is_##event_type(const struct zmk_event_header *eh); \
- struct event_type* cast_##event_type(const struct zmk_event_header *eh); \
+#define ZMK_EVENT_DECLARE(event_type) \
+ struct event_type *new_##event_type(); \
+ bool is_##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) \
- const struct zmk_event_type zmk_event_##event_type = { \
- .name = STRINGIFY(event_type) \
- }; \
- const struct zmk_event_type* zmk_event_ref_##event_type __used __attribute__((__section__(".event_type"))) = &zmk_event_##event_type; \
- struct event_type* new_##event_type() { \
- struct event_type* ev = (struct event_type *) k_malloc(sizeof(struct event_type)); \
- ev->header.event = &zmk_event_##event_type; \
- return ev; \
- }; \
- bool is_##event_type(const struct zmk_event_header *eh) { \
- return eh->event == &zmk_event_##event_type; \
- }; \
- struct event_type* cast_##event_type(const struct zmk_event_header *eh) {\
- return (struct event_type*)eh; \
+#define ZMK_EVENT_IMPL(event_type) \
+ const struct zmk_event_type zmk_event_##event_type = {.name = STRINGIFY(event_type)}; \
+ const struct zmk_event_type *zmk_event_ref_##event_type __used \
+ __attribute__((__section__(".event_type"))) = &zmk_event_##event_type; \
+ struct event_type *new_##event_type() { \
+ struct event_type *ev = (struct event_type *)k_malloc(sizeof(struct event_type)); \
+ ev->header.event = &zmk_event_##event_type; \
+ return ev; \
+ }; \
+ bool is_##event_type(const struct zmk_event_header *eh) { \
+ return eh->event == &zmk_event_##event_type; \
+ }; \
+ struct event_type *cast_##event_type(const struct zmk_event_header *eh) { \
+ return (struct event_type *)eh; \
};
-
-#define ZMK_LISTENER(mod, cb) \
- const struct zmk_listener zmk_listener_##mod = { \
- .callback = cb \
- };
+#define ZMK_LISTENER(mod, cb) const struct zmk_listener zmk_listener_##mod = {.callback = cb};
-#define ZMK_SUBSCRIPTION(mod, ev_type) \
- const Z_DECL_ALIGN(struct zmk_event_subscription) _CONCAT(_CONCAT(zmk_event_sub_,mod),ev_type) __used __attribute__((__section__(".event_subscription"))) = { \
- .event_type = &zmk_event_##ev_type, \
- .listener = &zmk_listener_##mod, \
+#define ZMK_SUBSCRIPTION(mod, ev_type) \
+ const Z_DECL_ALIGN(struct zmk_event_subscription) \
+ _CONCAT(_CONCAT(zmk_event_sub_, mod), ev_type) __used \
+ __attribute__((__section__(".event_subscription"))) = { \
+ .event_type = &zmk_event_##ev_type, \
+ .listener = &zmk_listener_##mod, \
};
-#define ZMK_EVENT_RAISE(ev) \
- zmk_event_manager_raise((struct zmk_event_header *)ev);
+#define ZMK_EVENT_RAISE(ev) zmk_event_manager_raise((struct zmk_event_header *)ev);
-#define ZMK_EVENT_RAISE_AFTER(ev, mod) \
+#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) \
+#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);
+#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_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/events/ble-active-profile-changed.h b/app/include/zmk/events/ble-active-profile-changed.h
new file mode 100644
index 0000000..1e3a198
--- /dev/null
+++ b/app/include/zmk/events/ble-active-profile-changed.h
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <zephyr.h>
+#include <zmk/event-manager.h>
+#include <device.h>
+
+#include <zmk/ble/profile.h>
+
+struct ble_active_profile_changed {
+ struct zmk_event_header header;
+ u8_t index;
+ struct zmk_ble_profile *profile;
+};
+
+ZMK_EVENT_DECLARE(ble_active_profile_changed);
diff --git a/app/include/zmk/events/keycode-state-changed.h b/app/include/zmk/events/keycode-state-changed.h
index e12813c..1e2c24e 100644
--- a/app/include/zmk/events/keycode-state-changed.h
+++ b/app/include/zmk/events/keycode-state-changed.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
@@ -18,12 +18,11 @@ struct keycode_state_changed {
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();
+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
index a17a093..d2e02f8 100644
--- a/app/include/zmk/events/modifiers-state-changed.h
+++ b/app/include/zmk/events/modifiers-state-changed.h
@@ -1,9 +1,9 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
-
+
#pragma once
#include <zephyr.h>
@@ -18,9 +18,9 @@ struct modifiers_state_changed {
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();
+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;
diff --git a/app/include/zmk/events/position-state-changed.h b/app/include/zmk/events/position-state-changed.h
index c91688e..e4cbbbe 100644
--- a/app/include/zmk/events/position-state-changed.h
+++ b/app/include/zmk/events/position-state-changed.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
@@ -13,6 +13,7 @@ struct position_state_changed {
struct zmk_event_header header;
u32_t position;
bool state;
+ s64_t timestamp;
};
ZMK_EVENT_DECLARE(position_state_changed); \ No newline at end of file
diff --git a/app/include/zmk/events/sensor-event.h b/app/include/zmk/events/sensor-event.h
index f881ac5..a9302a5 100644
--- a/app/include/zmk/events/sensor-event.h
+++ b/app/include/zmk/events/sensor-event.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
diff --git a/app/include/zmk/handlers.h b/app/include/zmk/handlers.h
index a10851f..7ce1d27 100644
--- a/app/include/zmk/handlers.h
+++ b/app/include/zmk/handlers.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
#include <dt-bindings/zmk/keys.h>
diff --git a/app/include/zmk/hid.h b/app/include/zmk/hid.h
index 138606a..744de98 100644
--- a/app/include/zmk/hid.h
+++ b/app/include/zmk/hid.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
#include <usb/usb_device.h>
@@ -134,25 +140,21 @@ static const u8_t zmk_hid_report_desc[] = {
// u8_t keys[6];
// } __packed;
-struct zmk_hid_keypad_report_body
-{
+struct zmk_hid_keypad_report_body {
zmk_mod_flags modifiers;
u8_t keys[13];
} __packed;
-struct zmk_hid_keypad_report
-{
+struct zmk_hid_keypad_report {
u8_t report_id;
struct zmk_hid_keypad_report_body body;
} __packed;
-struct zmk_hid_consumer_report_body
-{
+struct zmk_hid_consumer_report_body {
u8_t keys[6];
} __packed;
-struct zmk_hid_consumer_report
-{
+struct zmk_hid_consumer_report {
u8_t report_id;
struct zmk_hid_consumer_report_body body;
} __packed;
diff --git a/app/include/zmk/hog.h b/app/include/zmk/hog.h
index e2f976a..a7dda51 100644
--- a/app/include/zmk/hog.h
+++ b/app/include/zmk/hog.h
@@ -1,3 +1,8 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
#pragma once
diff --git a/app/include/zmk/keymap.h b/app/include/zmk/keymap.h
index c1f6393..b8f4969 100644
--- a/app/include/zmk/keymap.h
+++ b/app/include/zmk/keymap.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
bool zmk_keymap_layer_active(u8_t layer);
@@ -5,4 +11,4 @@ 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);
+int zmk_keymap_position_state_changed(u32_t position, bool pressed, s64_t timestamp);
diff --git a/app/include/zmk/keys.h b/app/include/zmk/keys.h
index 6966bba..af474b1 100644
--- a/app/include/zmk/keys.h
+++ b/app/include/zmk/keys.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
#include <zephyr.h>
@@ -8,8 +14,7 @@ typedef u8_t zmk_action;
typedef u8_t zmk_mod;
typedef u8_t zmk_mod_flags;
-struct zmk_key_event
-{
+struct zmk_key_event {
u32_t column;
u32_t row;
zmk_key key;
diff --git a/app/include/zmk/kscan.h b/app/include/zmk/kscan.h
index ebffccd..3352600 100644
--- a/app/include/zmk/kscan.h
+++ b/app/include/zmk/kscan.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
int zmk_kscan_init(char *name);
diff --git a/app/include/zmk/matrix.h b/app/include/zmk/matrix.h
index 3088263..b3e2323 100644
--- a/app/include/zmk/matrix.h
+++ b/app/include/zmk/matrix.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
#include <devicetree.h>
@@ -9,20 +15,20 @@
#define ZMK_KEYMAP_TRANSFORM_NODE DT_CHOSEN(zmk_matrix_transform)
#define ZMK_KEYMAP_LEN DT_PROP_LEN(ZMK_KEYMAP_TRANSFORM_NODE, map)
-#define ZMK_MATRIX_ROWS DT_PROP(ZMK_KEYMAP_TRANSFORM_NODE,rows)
-#define ZMK_MATRIX_COLS DT_PROP(ZMK_KEYMAP_TRANSFORM_NODE,columns)
+#define ZMK_MATRIX_ROWS DT_PROP(ZMK_KEYMAP_TRANSFORM_NODE, rows)
+#define ZMK_MATRIX_COLS DT_PROP(ZMK_KEYMAP_TRANSFORM_NODE, columns)
#else /* DT_HAS_CHOSEN(zmk_matrix_transform) */
-#if DT_NODE_HAS_PROP(ZMK_MATRIX_NODE_ID,row_gpios)
-#define ZMK_MATRIX_ROWS DT_PROP_LEN(ZMK_MATRIX_NODE_ID,row_gpios)
-#define ZMK_MATRIX_COLS DT_PROP_LEN(ZMK_MATRIX_NODE_ID,col_gpios)
-#elif DT_NODE_HAS_PROP(ZMK_MATRIX_NODE_ID,input_gpios)
+#if DT_NODE_HAS_PROP(ZMK_MATRIX_NODE_ID, row_gpios)
+#define ZMK_MATRIX_ROWS DT_PROP_LEN(ZMK_MATRIX_NODE_ID, row_gpios)
+#define ZMK_MATRIX_COLS DT_PROP_LEN(ZMK_MATRIX_NODE_ID, col_gpios)
+#elif DT_NODE_HAS_PROP(ZMK_MATRIX_NODE_ID, input_gpios)
#define ZMK_MATRIX_ROWS 1
-#define ZMK_MATRIX_COLS DT_PROP_LEN(ZMK_MATRIX_NODE_ID,input_gpios)
+#define ZMK_MATRIX_COLS DT_PROP_LEN(ZMK_MATRIX_NODE_ID, input_gpios)
#else
-#define ZMK_MATRIX_ROWS DT_PROP(ZMK_MATRIX_NODE_ID,rows)
-#define ZMK_MATRIX_COLS DT_PROP(ZMK_MATRIX_NODE_ID,columns)
+#define ZMK_MATRIX_ROWS DT_PROP(ZMK_MATRIX_NODE_ID, rows)
+#define ZMK_MATRIX_COLS DT_PROP(ZMK_MATRIX_NODE_ID, columns)
#endif
#define ZMK_KEYMAP_LEN (ZMK_MATRIX_COLS * ZMK_MATRIX_ROWS)
diff --git a/app/include/zmk/matrix_transform.h b/app/include/zmk/matrix_transform.h
index e9e969a..29c2afc 100644
--- a/app/include/zmk/matrix_transform.h
+++ b/app/include/zmk/matrix_transform.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
u32_t zmk_matrix_transform_row_column_to_position(u32_t row, u32_t column); \ No newline at end of file
diff --git a/app/include/zmk/rgb_underglow.h b/app/include/zmk/rgb_underglow.h
index 69e9a9b..94cc32c 100644
--- a/app/include/zmk/rgb_underglow.h
+++ b/app/include/zmk/rgb_underglow.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Nick Winans <nick@winans.codes>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
diff --git a/app/include/zmk/sensors.h b/app/include/zmk/sensors.h
index c60cd4b..63dcade 100644
--- a/app/include/zmk/sensors.h
+++ b/app/include/zmk/sensors.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Peter Johanson <peter@peterjohanson.com>
+ * Copyright (c) 2020 The ZMK Contributors
*
* SPDX-License-Identifier: MIT
*/
diff --git a/app/include/zmk/split/bluetooth/service.h b/app/include/zmk/split/bluetooth/service.h
index 954e0cd..c2be512 100644
--- a/app/include/zmk/split/bluetooth/service.h
+++ b/app/include/zmk/split/bluetooth/service.h
@@ -1,3 +1,9 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
int zmk_split_bt_position_pressed(u8_t position);
diff --git a/app/include/zmk/split/bluetooth/uuid.h b/app/include/zmk/split/bluetooth/uuid.h
index 59f2f71..a31884d 100644
--- a/app/include/zmk/split/bluetooth/uuid.h
+++ b/app/include/zmk/split/bluetooth/uuid.h
@@ -1,12 +1,17 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
#pragma once
#include <bluetooth/uuid.h>
#ifndef BT_UUID_NUM_OF_DIGITALS
-#define BT_UUID_NUM_OF_DIGITALS BT_UUID_DECLARE_16(0x2909)
+#define BT_UUID_NUM_OF_DIGITALS BT_UUID_DECLARE_16(0x2909)
#endif
-#define ZMK_BT_SPLIT_UUID(num) BT_UUID_128_ENCODE(num, 0x0096, 0x7107, 0xc967, 0xc5cfb1c2482a)
+#define ZMK_BT_SPLIT_UUID(num) BT_UUID_128_ENCODE(num, 0x0096, 0x7107, 0xc967, 0xc5cfb1c2482a)
#define ZMK_SPLIT_BT_SERVICE_UUID ZMK_BT_SPLIT_UUID(0x00000000)
#define ZMK_SPLIT_BT_CHAR_POSITION_STATE_UUID ZMK_BT_SPLIT_UUID(0x00000001)
-
diff --git a/app/include/zmk/usb.h b/app/include/zmk/usb.h
new file mode 100644
index 0000000..452fd54
--- /dev/null
+++ b/app/include/zmk/usb.h
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <usb/usb_device.h>
+#include <usb/class/usb_hid.h>
+
+#include <zmk/keys.h>
+#include <zmk/hid.h>
+
+enum usb_dc_status_code zmk_usb_get_status();
+
+#ifdef CONFIG_ZMK_USB
+int zmk_usb_hid_send_report(u8_t *report, size_t len);
+#endif /* CONFIG_ZMK_USB */ \ No newline at end of file
diff --git a/app/include/zmk/usb_hid.h b/app/include/zmk/usb_hid.h
deleted file mode 100644
index 5d7c744..0000000
--- a/app/include/zmk/usb_hid.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef ZMK_USB_HID
-#define ZMK_USB_HID
-
-#include <usb/usb_device.h>
-#include <usb/class/usb_hid.h>
-
-#include <zmk/keys.h>
-#include <zmk/hid.h>
-
-int zmk_usb_hid_init();
-
-int zmk_usb_hid_send_report(u8_t *report, size_t len);
-
-#endif