1
0
Fork 0

Prep work for NKRO report separation (#22268)

* Clean up some keyboard/userspace code

* Rename `KEYBOARD_REPORT_BITS` -> `NKRO_REPORT_BITS`

* Add some missing includes

* Use `PACKED` define for report types

* Fix incorrect function signatures for FlexRAM EEPROM driver
This commit is contained in:
Ryan 2023-10-14 22:21:20 +11:00 committed by GitHub
parent 1da7c8c8d0
commit 1bff37781b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 35 additions and 36 deletions

View file

@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <stdint.h>
#include <stdbool.h>
#include "keycode.h"
#include "util.h"
// clang-format off
@ -129,10 +130,10 @@ enum desktop_usages {
#if defined(NKRO_ENABLE)
# if defined(PROTOCOL_LUFA) || defined(PROTOCOL_CHIBIOS)
# include "protocol/usb_descriptor.h"
# define KEYBOARD_REPORT_BITS (SHARED_EPSIZE - 2)
# define NKRO_REPORT_BITS (SHARED_EPSIZE - 2)
# elif defined(PROTOCOL_ARM_ATSAM)
# include "protocol/arm_atsam/usb/udi_device_epsize.h"
# define KEYBOARD_REPORT_BITS (NKRO_EPSIZE - 1)
# define NKRO_REPORT_BITS (NKRO_EPSIZE - 1)
# undef NKRO_SHARED_EP
# undef MOUSE_SHARED_EP
# else
@ -188,20 +189,20 @@ typedef union {
uint8_t report_id;
# endif
uint8_t mods;
uint8_t bits[KEYBOARD_REPORT_BITS];
uint8_t bits[NKRO_REPORT_BITS];
} nkro;
#endif
} __attribute__((packed)) report_keyboard_t;
} PACKED report_keyboard_t;
typedef struct {
uint8_t report_id;
uint16_t usage;
} __attribute__((packed)) report_extra_t;
} PACKED report_extra_t;
typedef struct {
uint8_t report_id;
uint32_t usage;
} __attribute__((packed)) report_programmable_button_t;
} PACKED report_programmable_button_t;
#ifdef MOUSE_EXTENDED_REPORT
typedef int16_t mouse_xy_report_t;
@ -222,7 +223,7 @@ typedef struct {
mouse_xy_report_t y;
int8_t v;
int8_t h;
} __attribute__((packed)) report_mouse_t;
} PACKED report_mouse_t;
typedef struct {
#ifdef DIGITIZER_SHARED_EP
@ -234,7 +235,7 @@ typedef struct {
uint8_t reserved : 5;
uint16_t x;
uint16_t y;
} __attribute__((packed)) report_digitizer_t;
} PACKED report_digitizer_t;
typedef struct {
#ifdef JOYSTICK_SHARED_EP
@ -251,7 +252,7 @@ typedef struct {
#if JOYSTICK_BUTTON_COUNT > 0
uint8_t buttons[(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1];
#endif
} __attribute__((packed)) report_joystick_t;
} PACKED report_joystick_t;
/* keycode to system usage */
static inline uint16_t KEYCODE2SYSTEM(uint8_t key) {