summaryrefslogtreecommitdiff
path: root/app/include
diff options
context:
space:
mode:
Diffstat (limited to 'app/include')
-rw-r--r--app/include/zmk/events/usb-conn-state-changed.h20
-rw-r--r--app/include/zmk/usb.h12
2 files changed, 31 insertions, 1 deletions
diff --git a/app/include/zmk/events/usb-conn-state-changed.h b/app/include/zmk/events/usb-conn-state-changed.h
new file mode 100644
index 0000000..d6cc698
--- /dev/null
+++ b/app/include/zmk/events/usb-conn-state-changed.h
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: MIT
+ */
+
+#pragma once
+
+#include <zephyr.h>
+#include <usb/usb_device.h>
+
+#include <zmk/event-manager.h>
+#include <zmk/usb.h>
+
+struct usb_conn_state_changed {
+ struct zmk_event_header header;
+ enum zmk_usb_conn_state conn_state;
+};
+
+ZMK_EVENT_DECLARE(usb_conn_state_changed); \ No newline at end of file
diff --git a/app/include/zmk/usb.h b/app/include/zmk/usb.h
index 452fd54..30461de 100644
--- a/app/include/zmk/usb.h
+++ b/app/include/zmk/usb.h
@@ -12,8 +12,18 @@
#include <zmk/keys.h>
#include <zmk/hid.h>
+enum zmk_usb_conn_state {
+ ZMK_USB_CONN_NONE,
+ ZMK_USB_CONN_POWERED,
+ ZMK_USB_CONN_HID,
+};
+
enum usb_dc_status_code zmk_usb_get_status();
+enum zmk_usb_conn_state zmk_usb_get_conn_state();
+
+static inline bool zmk_usb_is_powered() { return zmk_usb_get_conn_state() != ZMK_USB_CONN_NONE; }
+static inline bool zmk_usb_is_hid_ready() { return zmk_usb_get_conn_state() == ZMK_USB_CONN_HID; }
#ifdef CONFIG_ZMK_USB
-int zmk_usb_hid_send_report(u8_t *report, size_t len);
+int zmk_usb_hid_send_report(const u8_t *report, size_t len);
#endif /* CONFIG_ZMK_USB */ \ No newline at end of file