summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/lufa
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-10-23 14:43:46 +1000
committerGitHub <noreply@github.com>2023-10-23 15:43:46 +1100
commit0c160e1fbafbf477c74e64fd8ab9a9121eb0f42a (patch)
tree7a6e361a5fe396b72029ab03d7e00abe1f19a105 /tmk_core/protocol/lufa
parentbf6f13a2b0a185e935b8554e41317ab471a4c0ec (diff)
Separate 6KRO and NKRO report structs (#22267)
Diffstat (limited to 'tmk_core/protocol/lufa')
-rw-r--r--tmk_core/protocol/lufa/lufa.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/tmk_core/protocol/lufa/lufa.c b/tmk_core/protocol/lufa/lufa.c
index f04ca79a0c..553f69b1e4 100644
--- a/tmk_core/protocol/lufa/lufa.c
+++ b/tmk_core/protocol/lufa/lufa.c
@@ -55,12 +55,6 @@
#include "usb_device_state.h"
#include <util/atomic.h>
-#ifdef NKRO_ENABLE
-# include "keycode_config.h"
-
-extern keymap_config_t keymap_config;
-#endif
-
#ifdef VIRTSER_ENABLE
# include "virtser.h"
#endif
@@ -83,9 +77,10 @@ static report_keyboard_t keyboard_report_sent;
/* Host driver */
static uint8_t keyboard_leds(void);
static void send_keyboard(report_keyboard_t *report);
+static void send_nkro(report_nkro_t *report);
static void send_mouse(report_mouse_t *report);
static void send_extra(report_extra_t *report);
-host_driver_t lufa_driver = {keyboard_leds, send_keyboard, send_mouse, send_extra};
+host_driver_t lufa_driver = {keyboard_leds, send_keyboard, send_nkro, send_mouse, send_extra};
void send_report(uint8_t endpoint, void *report, size_t size) {
uint8_t timeout = 255;
@@ -559,27 +554,26 @@ static uint8_t keyboard_leds(void) {
* FIXME: Needs doc
*/
static void send_keyboard(report_keyboard_t *report) {
- /* Select the Keyboard Report Endpoint */
- uint8_t ep = KEYBOARD_IN_EPNUM;
- uint8_t size = KEYBOARD_REPORT_SIZE;
-
/* If we're in Boot Protocol, don't send any report ID or other funky fields */
if (!keyboard_protocol) {
- send_report(ep, &report->mods, 8);
+ send_report(KEYBOARD_IN_EPNUM, &report->mods, 8);
} else {
-#ifdef NKRO_ENABLE
- if (keymap_config.nkro) {
- ep = SHARED_IN_EPNUM;
- size = sizeof(struct nkro_report);
- }
-#endif
-
- send_report(ep, report, size);
+ send_report(KEYBOARD_IN_EPNUM, report, KEYBOARD_REPORT_SIZE);
}
keyboard_report_sent = *report;
}
+/** \brief Send NKRO
+ *
+ * FIXME: Needs doc
+ */
+static void send_nkro(report_nkro_t *report) {
+#ifdef NKRO_ENABLE
+ send_report(SHARED_IN_EPNUM, report, sizeof(report_nkro_t));
+#endif
+}
+
/** \brief Send Mouse
*
* FIXME: Needs doc