From 7f6f9e7094db22e0fa5238558f126fb4b5133560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Wed, 15 Nov 2017 16:54:34 +0100 Subject: [PATCH] Detect the use of USB interfaces by introducing IsUsb*ReportSent and compute areUsbReportsSent using them. --- right/src/main.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/right/src/main.c b/right/src/main.c index 2861a44..3cb3f6b 100644 --- a/right/src/main.c +++ b/right/src/main.c @@ -20,9 +20,40 @@ #include "usb_commands/usb_command_apply_config.h" #include "peripherals/reset_button.h" +bool UsbBasicKeyboardReportEverSent = false; +bool UsbMediaKeyboardReportEverSent = false; +bool UsbSystemKeyboardReportEverSent = false; +bool UsbMouseReportEverSentEverSent = false; + void updateUsbReports(void) { - if (!IsUsbBasicKeyboardReportSent || !IsUsbMediaKeyboardReportSent || /*!IsUsbSystemKeyboardReportSent ||*/ !IsUsbMouseReportSent) { + if (IsUsbBasicKeyboardReportSent) { + UsbBasicKeyboardReportEverSent = true; + } + if (IsUsbMediaKeyboardReportSent) { + UsbMediaKeyboardReportEverSent = true; + } + if (IsUsbSystemKeyboardReportSent) { + UsbSystemKeyboardReportEverSent = true; + } + if (IsUsbMouseReportSent) { + UsbMouseReportEverSentEverSent = true; + } + + bool areUsbReportsSent = true; + if (UsbBasicKeyboardReportEverSent) { + areUsbReportsSent &= IsUsbBasicKeyboardReportSent; + } + if (UsbMediaKeyboardReportEverSent) { + areUsbReportsSent &= IsUsbMediaKeyboardReportSent; + } + if (UsbSystemKeyboardReportEverSent) { + areUsbReportsSent &= IsUsbSystemKeyboardReportSent; + } + if (UsbMouseReportEverSentEverSent) { + areUsbReportsSent &= IsUsbMouseReportSent; + } + if (!areUsbReportsSent) { return; }