diff options
Diffstat (limited to 'quantum/oryx.h')
-rw-r--r-- | quantum/oryx.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/quantum/oryx.h b/quantum/oryx.h new file mode 100644 index 0000000000..b1fe78a061 --- /dev/null +++ b/quantum/oryx.h @@ -0,0 +1,82 @@ +#pragma once + +#include "quantum.h" +#include "webusb.h" + +#ifndef WEBUSB_ENABLE +# error "WebUSB needs to be enabled, please enable it!" +#endif + +// enum Oryx_Status_code { +// PLACEHOLDER = WEBUSB_STATUS_SAFE_RANGE, +// } + +enum Oryx_Command_Code { + ORYX_GET_LAYER = WEBUSB_CMD_SAFE_RANGE, + ORYX_CMD_LIVE_TRAINING, + ORYX_CMD_LIVE_UPDATE_GET_KEYCODE, + ORYX_CMD_LIVE_UPDATE_SET_KEYCODE, + ORYX_CMD_LIVE_UPDATE_KEYMAP_RESET, + ORYX_CMD_LIVE_UPDATE_GET_BUFFER, + ORYX_CMD_LIVE_UPDATE_SET_BUFFER, + ORYX_CMD_LIVE_UPDATE_GET_LAYER_COUNT, + ORYX_CMD_LIVE_UPDATE_GET_MACRO_COUNT, + ORYX_CMD_LIVE_UPDATE_GET_MACRO_BUFFER_SIZE, + ORYX_CMD_LIVE_UPDATE_GET_MACRO_BUFFER, + ORYX_CMD_LIVE_UPDATE_SET_MACRO_BUFFER, + ORYX_CMD_LIVE_UPDATE_MACRO_RESET, + ORYX_CMD_LIVE_UPDATE_EEPROM_RESET, + ORYX_CMD_LIVE_UPDATE_KEYBOARD_RESET, + +}; + +enum Oryx_Event_Code { + ORYX_EVT_LAYER = WEBUSB_EVT_SAFE_RANGE, + ORYX_EVT_LIVE_TRAINING, + ORYX_EVT_LIVE_UPDATE_GET_KEYCODE, + ORYX_EVT_LIVE_UPDATE_SET_KEYCODE, + ORYX_EVT_LIVE_UPDATE_KEYMAP_RESET, + ORYX_EVT_LIVE_UPDATE_GET_BUFFER, + ORYX_EVT_LIVE_UPDATE_SET_BUFFER, + ORYX_EVT_LIVE_UPDATE_GET_LAYER_COUNT, + ORYX_EVT_LIVE_UPDATE_GET_MACRO_COUNT, + ORYX_EVT_LIVE_UPDATE_GET_MACRO_BUFFER_SIZE, + ORYX_EVT_LIVE_UPDATE_GET_MACRO_BUFFER, + ORYX_EVT_LIVE_UPDATE_SET_MACRO_BUFFER, + ORYX_EVT_LIVE_UPDATE_MACRO_RESET, + ORYX_EVT_LIVE_UPDATE_EEPROM_RESET, + ORYX_EVT_LIVE_UPDATE_KEYBOARD_RESET, + ORYX_EVT_KEYDOWN, + ORYX_EVT_KEYUP, +}; + +#ifdef DYNAMIC_KEYMAP_ENABLE +enum dynamic_macros_keycodes { + MACRO00 = 0x5F12, + MACRO01, + MACRO02, + MACRO03, + MACRO04, + MACRO05, + MACRO06, + MACRO07, + MACRO08, + MACRO09, + MACRO10, + MACRO11, + MACRO12, + MACRO13, + MACRO14, + MACRO15, +}; +#endif + +extern bool oryx_state_live_training_enabled; + +bool webusb_receive_oryx(uint8_t *data, uint8_t length); +void oryx_layer_event(void); +bool is_oryx_live_training_enabled(void); +bool process_record_oryx(uint16_t keycode, keyrecord_t *record); +void layer_state_set_oryx(layer_state_t state); +void eeconfig_init_oryx(void); +void matrix_init_oryx(void); |