diff options
author | fauxpark <fauxpark@gmail.com> | 2020-02-03 07:17:05 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-02 12:17:05 -0800 |
commit | b2ce2f8a34fba72e4b4ac2fba0ec11431b0acb0c (patch) | |
tree | 58494d6dd519ac3b87b431188bd9b0e1b14befae /tmk_core/protocol/arm_atsam | |
parent | 5b91c3e0a0dc8152f69130cf047f3df0d0f94421 (diff) |
Dedupe extrakey report struct, and send functions in V-USB & LUFA (#7993)
* Dedupe extrakey report struct, and send functions in V-USB & LUFA
* Doc comment for consistency
* Wrap it in ifdef to prevent unused function error
* Do the same for ATSAM
Diffstat (limited to 'tmk_core/protocol/arm_atsam')
-rw-r--r-- | tmk_core/protocol/arm_atsam/main_arm_atsam.c | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c index a42d9daf38..e15d51a263 100644 --- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c +++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c @@ -110,40 +110,34 @@ void send_mouse(report_mouse_t *report) { #endif // MOUSEKEY_ENABLE } -void send_system(uint16_t data) { #ifdef EXTRAKEY_ENABLE +void send_extra(uint8_t report_id, uint16_t data) { uint32_t irqflags; irqflags = __get_PRIMASK(); __disable_irq(); __DMB(); - udi_hid_exk_report.desc.report_id = REPORT_ID_SYSTEM; - if (data != 0) data = data - SYSTEM_POWER_DOWN + 1; + udi_hid_exk_report.desc.report_id = report_id; udi_hid_exk_report.desc.report_data = data; udi_hid_exk_b_report_valid = 1; udi_hid_exk_send_report(); __DMB(); __set_PRIMASK(irqflags); +} +#endif // EXTRAKEY_ENABLE + +void send_system(uint16_t data) { +#ifdef EXTRAKEY_ENABLE + if (data != 0) data = data - SYSTEM_POWER_DOWN + 1; + send_extra(REPORT_ID_SYSTEM, data); #endif // EXTRAKEY_ENABLE } void send_consumer(uint16_t data) { #ifdef EXTRAKEY_ENABLE - uint32_t irqflags; - - irqflags = __get_PRIMASK(); - __disable_irq(); - __DMB(); - - udi_hid_exk_report.desc.report_id = REPORT_ID_CONSUMER; - udi_hid_exk_report.desc.report_data = data; - udi_hid_exk_b_report_valid = 1; - udi_hid_exk_send_report(); - - __DMB(); - __set_PRIMASK(irqflags); + send_extra(REPORT_ID_CONSUMER, data); #endif // EXTRAKEY_ENABLE } |