X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=protocol%2Fpjrc%2Fusb_keyboard.c;h=758a4edc6c01404b2baa82ef89d10ca00d8a6402;hb=8cec0bc9d66cb7da4770e6502e97a426908eb532;hp=e057c77fa16e326c18ccd2549752670aa1781024;hpb=f4125707399d11a7d80587659c464b9bcddb8c56;p=max%2Ftmk_keyboard.git diff --git a/protocol/pjrc/usb_keyboard.c b/protocol/pjrc/usb_keyboard.c index e057c77f..758a4edc 100644 --- a/protocol/pjrc/usb_keyboard.c +++ b/protocol/pjrc/usb_keyboard.c @@ -23,7 +23,7 @@ #include #include -#include "usb_keycodes.h" +#include "keycode.h" #include "usb_keyboard.h" #include "print.h" #include "debug.h" @@ -34,12 +34,12 @@ // protocol setting from the host. We use exactly the same report // either way, so this variable only stores the setting since we // are required to be able to report which setting is in use. -uint8_t usb_keyboard_protocol=1; +uint8_t keyboard_protocol=1; // the idle configuration, how often we send the report to the // host (ms * 4) even when it hasn't changed // Windows and Linux set 0 while OS X sets 6(24ms) by SET_IDLE request. -uint8_t usb_keyboard_idle_config=125; +uint8_t keyboard_idle=125; // count until idle timeout uint8_t usb_keyboard_idle_count=0; @@ -57,14 +57,11 @@ int8_t usb_keyboard_send_report(report_keyboard_t *report) #ifdef NKRO_ENABLE if (keyboard_nkro) - result = send_report(report, KBD2_ENDPOINT, 0, KBD2_REPORT_KEYS); + result = send_report(report, KBD2_ENDPOINT, 0, KBD2_SIZE); else #endif { - if (usb_keyboard_protocol) - result = send_report(report, KBD_ENDPOINT, 0, KBD_REPORT_KEYS); - else - result = send_report(report, KBD_ENDPOINT, 0, 6); + result = send_report(report, KBD_ENDPOINT, 0, KBD_SIZE); } if (result) return result; @@ -104,15 +101,8 @@ static inline int8_t send_report(report_keyboard_t *report, uint8_t endpoint, ui cli(); UENUM = endpoint; } - UEDATX = report->mods; -#ifdef NKRO_ENABLE - if (!keyboard_nkro) - UEDATX = 0; -#else - UEDATX = 0; -#endif for (uint8_t i = keys_start; i < keys_end; i++) { - UEDATX = report->keys[i]; + UEDATX = report->raw[i]; } UEINTX = 0x3A; SREG = intr_state;