summaryrefslogtreecommitdiff
path: root/app/src/usb_hid.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/usb_hid.c')
-rw-r--r--app/src/usb_hid.c87
1 files changed, 0 insertions, 87 deletions
diff --git a/app/src/usb_hid.c b/app/src/usb_hid.c
deleted file mode 100644
index 784fc25..0000000
--- a/app/src/usb_hid.c
+++ /dev/null
@@ -1,87 +0,0 @@
-
-#include <device.h>
-#include <init.h>
-
-#include <usb/usb_device.h>
-#include <usb/class/usb_hid.h>
-#include <dt-bindings/zmk/keys.h>
-
-#include <zmk/hid.h>
-#include <zmk/keymap.h>
-
-LOG_MODULE_DECLARE(zmk, CONFIG_ZMK_LOG_LEVEL);
-
-static enum usb_dc_status_code usb_status = USB_DC_UNKNOWN;
-
-static struct device *hid_dev;
-
-static K_SEM_DEFINE(hid_sem, 1, 1);
-
-static void in_ready_cb(void)
-{
- k_sem_give(&hid_sem);
-}
-
-static const struct hid_ops ops =
-{
- .int_in_ready = in_ready_cb,
-};
-
-int zmk_usb_hid_send_report(const u8_t *report, size_t len)
-{
- switch(usb_status) {
- case USB_DC_SUSPEND:
- return usb_wakeup_request();
- case USB_DC_ERROR:
- case USB_DC_RESET:
- case USB_DC_DISCONNECTED:
- case USB_DC_UNKNOWN:
- return -ENODEV;
- default:
- k_sem_take(&hid_sem, K_MSEC(30));
- int err = hid_int_ep_write(hid_dev, report, len, NULL);
-
- if (err) {
- k_sem_give(&hid_sem);
- }
-
- return err;
- }
-}
-
-void usb_hid_status_cb(enum usb_dc_status_code status, const u8_t *params)
-{
- usb_status = status;
-};
-
-static int zmk_usb_hid_init(struct device *_arg)
-{
- int usb_enable_ret;
-
- hid_dev = device_get_binding("HID_0");
- if (hid_dev == NULL)
- {
- LOG_ERR("Unable to locate HID device");
- return -EINVAL;
- }
-
- usb_hid_register_device(hid_dev,
- zmk_hid_report_desc, sizeof(zmk_hid_report_desc),
- &ops);
-
- usb_hid_init(hid_dev);
-
- usb_enable_ret = usb_enable(usb_hid_status_cb);
-
- if (usb_enable_ret != 0)
- {
- LOG_ERR("Unable to enable USB");
- return -EINVAL;
- }
-
- return 0;
-}
-
-SYS_INIT(zmk_usb_hid_init,
- APPLICATION,
- CONFIG_ZMK_USB_INIT_PRIORITY);