2020-05-12 11:15:33 -07:00
|
|
|
|
|
|
|
#include "endpoints.h"
|
2020-05-15 06:41:06 -07:00
|
|
|
#include "hid.h"
|
2020-05-12 11:15:33 -07:00
|
|
|
#include "usb_hid.h"
|
2020-05-15 06:41:06 -07:00
|
|
|
#include "hog.h"
|
|
|
|
|
|
|
|
int zmk_endpoints_init()
|
|
|
|
{
|
|
|
|
int err;
|
|
|
|
|
|
|
|
err = zmk_usb_hid_init();
|
|
|
|
if (err)
|
|
|
|
{
|
|
|
|
printk("USB HID Init Failed\n");
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
|
|
|
|
err = zmk_hog_init();
|
|
|
|
if (err)
|
|
|
|
{
|
|
|
|
printk("HOG Init Failed\n");
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
2020-05-12 11:15:33 -07:00
|
|
|
|
|
|
|
int zmk_endpoints_send_key_event(struct zmk_key_event key_event)
|
|
|
|
{
|
2020-05-15 06:41:06 -07:00
|
|
|
struct zmk_hid_report *report;
|
2020-05-15 08:39:16 -07:00
|
|
|
int err;
|
|
|
|
|
2020-05-12 11:15:33 -07:00
|
|
|
if (key_event.pressed)
|
|
|
|
{
|
2020-05-15 06:41:06 -07:00
|
|
|
zmk_hid_press_key(key_event.key);
|
2020-05-12 11:15:33 -07:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2020-05-15 06:41:06 -07:00
|
|
|
zmk_hid_release_key(key_event.key);
|
|
|
|
}
|
|
|
|
|
|
|
|
report = zmk_hid_get_report();
|
|
|
|
|
|
|
|
// if (zmk_usb_hid_send_report(report) != 0)
|
|
|
|
// {
|
|
|
|
// // LOG_DBG("USB Send Failed");
|
|
|
|
// }
|
|
|
|
|
2020-05-15 08:39:16 -07:00
|
|
|
err = zmk_hog_send_report(report);
|
|
|
|
if (err)
|
2020-05-15 06:41:06 -07:00
|
|
|
{
|
2020-05-15 08:39:16 -07:00
|
|
|
printk("FAILED TO SEND OVER HOG: %d\n", err);
|
2020-05-15 06:41:06 -07:00
|
|
|
// LOG_DBG("HID Over GATTP Send Failed");
|
2020-05-12 11:15:33 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|