complete refactor to directly pass reports and interfaces

This commit is contained in:
2025-08-23 15:06:10 -04:00
parent 86ecb819b0
commit 0aebadf829
15 changed files with 681 additions and 660 deletions
+7 -26
View File
@@ -1,6 +1,11 @@
#ifndef HYPERX_ELITE2_H_
#define HYPERX_ELITE2_H_
#define LDR_PIN 28
#define LDR_ADC 2
#define LDR_OFF_THRESHOLD 500
#define LDR_ON_THRESHOLD 400
enum
{
HYPERX_KEYBOARD_VID = 0x0951,
@@ -8,35 +13,11 @@ enum
NUM_KEYS = 128,
BUF_SIZE = 64,
NUM_PACKETS = 10,
NKRO_BUF_SIZE = 15,
KEY_BUF_SIZE = 16*16,
};
enum
{
HYPERX_ITF_KEYBOARD = 0,
HYPERX_ITF_KEYPRESS,
HYPERX_ITF_NKRO
};
void get_light();
void rgb_task(uint8_t dev_addr, uint8_t instance, uint8_t report_id);
void send_color(uint8_t dev_addr, uint8_t instance, uint8_t report_id,
uint8_t red, uint8_t green, uint8_t blue);
void send_initial(uint8_t dev_addr, uint8_t instance, uint8_t report_id);
void rgb_task(uint8_t dev_addr);
void startADC();
void send_media(uint8_t const* report, uint16_t len);
void keyboard_task();
void reset_keyboard();
void updatekeys(uint8_t instance, uint8_t const* report, uint16_t len);
void process_report(uint8_t instance, uint8_t const* report, uint16_t len);
void merge_bitmap(uint8_t* nkro_report, uint8_t const* nkro_report1, uint8_t const* nkro_report2);
void boot2nkro(uint8_t const* boot_report, uint8_t* nkro_report, uint16_t len);
#define SET_KEYBIT(array, index) do { (array)[(index) / 8] |= 1 << ((index) % 8); } while(0)
#define CLEAR_KEYBIT(array, index) do { (array)[(index) / 8] &= ~(1 << ((index) % 8)); } while(0)
bool forward_report(uint8_t instance, uint8_t const* report, uint16_t len);
#endif