diff options
Diffstat (limited to 'tmk_core/protocol')
| -rw-r--r-- | tmk_core/protocol/chibios/usb_main.c | 14 | ||||
| -rw-r--r-- | tmk_core/protocol/report.c | 13 | ||||
| -rw-r--r-- | tmk_core/protocol/report.h | 4 | 
3 files changed, 26 insertions, 5 deletions
| diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index d9aa351ecb..19e2e858fc 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -339,8 +339,12 @@ static usb_driver_configs_t drivers = {      .console_driver = QMK_USB_DRIVER_CONFIG(CONSOLE, 0, true),  #endif  #ifdef RAW_ENABLE -#    define RAW_IN_CAPACITY 4 -#    define RAW_OUT_CAPACITY 4 +#    ifndef RAW_IN_CAPACITY +#        define RAW_IN_CAPACITY 4 +#    endif +#    ifndef RAW_OUT_CAPACITY +#        define RAW_OUT_CAPACITY 4 +#    endif  #    define RAW_IN_MODE USB_EP_MODE_TYPE_INTR  #    define RAW_OUT_MODE USB_EP_MODE_TYPE_INTR      .raw_driver = QMK_USB_DRIVER_CONFIG(RAW, 0, false), @@ -1074,7 +1078,7 @@ void console_task(void) {      uint8_t buffer[CONSOLE_EPSIZE];      size_t  size = 0;      do { -        size_t size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); +        size = chnReadTimeout(&drivers.console_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);          if (size > 0) {              console_receive(buffer, size);          } @@ -1102,7 +1106,7 @@ void raw_hid_task(void) {      uint8_t buffer[RAW_EPSIZE];      size_t  size = 0;      do { -        size_t size = chnReadTimeout(&drivers.raw_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); +        size = chnReadTimeout(&drivers.raw_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);          if (size > 0) {              raw_hid_receive(buffer, size);          } @@ -1125,7 +1129,7 @@ void midi_ep_task(void) {      uint8_t buffer[MIDI_STREAM_EPSIZE];      size_t  size = 0;      do { -        size_t size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE); +        size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);          if (size > 0) {              MIDI_EventPacket_t event;              recv_midi_packet(&event); diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index 854b59ae48..5755098c60 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -278,3 +278,16 @@ void clear_keys_from_report(report_keyboard_t* keyboard_report) {  #endif      memset(keyboard_report->keys, 0, sizeof(keyboard_report->keys));  } + +#ifdef MOUSE_ENABLE +/** + * @brief Compares 2 mouse reports for difference and returns result + * + * @param[in] new_report report_mouse_t + * @param[in] old_report report_mouse_t + * @return bool result + */ +__attribute__((weak)) bool has_mouse_report_changed(report_mouse_t* new_report, report_mouse_t* old_report) { +    return memcmp(new_report, old_report, sizeof(report_mouse_t)); +} +#endif diff --git a/tmk_core/protocol/report.h b/tmk_core/protocol/report.h index 1adc892f3b..7bbeb78af7 100644 --- a/tmk_core/protocol/report.h +++ b/tmk_core/protocol/report.h @@ -320,6 +320,10 @@ void add_key_to_report(report_keyboard_t* keyboard_report, uint8_t key);  void del_key_from_report(report_keyboard_t* keyboard_report, uint8_t key);  void clear_keys_from_report(report_keyboard_t* keyboard_report); +#ifdef MOUSE_ENABLE +bool has_mouse_report_changed(report_mouse_t* new_report, report_mouse_t* old_report); +#endif +  #ifdef __cplusplus  }  #endif | 
