Start moving code out of webusb and to Oryx feature
This commit is contained in:
committed by
Florian Didron
parent
d3f23ecfbc
commit
e41ab50016
@@ -0,0 +1,30 @@
|
||||
#include "oryx.h"
|
||||
|
||||
bool webusb_state_live_training_enabled;
|
||||
|
||||
bool webusb_receive_oryx(uint8_t *data, uint8_t length) {
|
||||
uint8_t command = data[0];
|
||||
|
||||
switch (command) {
|
||||
case ORYX_GET_LAYER:
|
||||
oryx_layer_event();
|
||||
return true; break;
|
||||
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void oryx_layer_event(void) {
|
||||
uint8_t layer;
|
||||
uint8_t event[4];
|
||||
layer = get_highest_layer(layer_state);
|
||||
#ifdef WEBUSB_ENABLE
|
||||
event[0] = WEBUSB_STATUS_OK;
|
||||
event[1] = ORYX_EVT_LAYER;
|
||||
event[2] = layer;
|
||||
event[3] = WEBUSB_STOP_BIT;
|
||||
webusb_send(event, sizeof(event));
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
#include "webusb.h"
|
||||
|
||||
#ifndef WEBUSB_ENABLE
|
||||
# error "WebUSB needs to be enabled, please enable it!"
|
||||
#endif
|
||||
|
||||
#ifndef DYNAMIC_KEYMAP_ENABLE
|
||||
# error "Dynamic Keymaps are not enabled. It must be aenbled "
|
||||
#endif
|
||||
|
||||
|
||||
enum Oryx_Command_Code {
|
||||
ORYX_GET_LAYER = WEBUSB_CMD_SAFE_RANGE,
|
||||
|
||||
};
|
||||
|
||||
enum Oryx_Event_Code {
|
||||
ORYX_EVT_KEYDOWN = WEBUSB_EVT_SAFE_RANGE,
|
||||
ORYX_EVT_KEYUP,
|
||||
ORYX_EVT_LAYER,
|
||||
};
|
||||
|
||||
|
||||
|
||||
extern bool webusb_state_live_training_enabled;
|
||||
|
||||
bool webusb_receive_oryx(uint8_t *data, uint8_t length);
|
||||
void oryx_layer_event(void);
|
||||
|
||||
|
||||
void keyboard_pre_init_oryx(void);
|
||||
@@ -774,3 +774,16 @@ __attribute__((weak)) void startup_user() {}
|
||||
__attribute__((weak)) void shutdown_user() {}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
#ifdef WEBUSB_ENABLE
|
||||
__attribute__((weak)) bool webusb_receive_user(uint8_t *data, uint8_t length) { return false; }
|
||||
__attribute__((weak)) bool webusb_receive_kb(uint8_t *data, uint8_t length) { return webusb_receive_user(data, length); }
|
||||
|
||||
bool webusb_receive_quantum(uint8_t *data, uint8_t length) {
|
||||
#ifdef ORYX_ENABLE
|
||||
return webusb_receive_oryx(data, length);
|
||||
#else
|
||||
return webusb_receive_kb(data, length);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -162,6 +162,10 @@ extern layer_state_t layer_state;
|
||||
# include "webusb.h"
|
||||
#endif
|
||||
|
||||
#ifdef ORYX_ENABLE
|
||||
# include "oryx.h"
|
||||
#endif
|
||||
|
||||
#ifdef DYNAMIC_MACRO_ENABLE
|
||||
#include "process_dynamic_macro.h"
|
||||
#endif
|
||||
@@ -283,3 +287,6 @@ bool led_update_user(led_t led_state);
|
||||
bool led_update_kb(led_t led_state);
|
||||
|
||||
void api_send_unicode(uint32_t unicode);
|
||||
|
||||
bool webusb_receive_kb(uint8_t *data, uint8_t length);
|
||||
bool webusb_receive_user(uint8_t *data, uint8_t length);
|
||||
|
||||
Reference in New Issue
Block a user