From 4c73b06622da4e4bf664751acdf83d81a940c839 Mon Sep 17 00:00:00 2001 From: Lt-Henry Date: Fri, 3 Jan 2025 20:04:19 +0100 Subject: [PATCH] hid: Fix for incoming feature reports not parsed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Incoming feature reports were being ignored. I guess this patch won't fix any ticket because as far as I know, we are not reading/writing feature reports at any point. However, as I am trying to get i2c trackpads working, one of the solutions may be set the trackpad in a mouse-like compatible mode, while we rebuild Tablet handler for multi-touch reports Change-Id: I64e581f8264049552ffc804c208191c0521a766a Reviewed-on: https://review.haiku-os.org/c/haiku/+/8767 Haiku-Format: Haiku-format Bot Reviewed-by: Jérôme Duval Tested-by: Commit checker robot --- src/add-ons/kernel/drivers/input/hid_shared/HIDParser.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/add-ons/kernel/drivers/input/hid_shared/HIDParser.cpp b/src/add-ons/kernel/drivers/input/hid_shared/HIDParser.cpp index 05d8729d2e..c1acd78165 100644 --- a/src/add-ons/kernel/drivers/input/hid_shared/HIDParser.cpp +++ b/src/add-ons/kernel/drivers/input/hid_shared/HIDParser.cpp @@ -481,8 +481,10 @@ HIDParser::SetReport(status_t status, uint8 *report, size_t length) // transfer to happen needs to reschedule one now. for (int32 i = 0; i < fReports.Count(); i++) { if (fReports[i] == NULL - || fReports[i]->Type() != HID_REPORT_TYPE_INPUT) + || (fReports[i]->Type() != HID_REPORT_TYPE_INPUT + && fReports[i]->Type() != HID_REPORT_TYPE_FEATURE)) { continue; + } if (fReports[i]->ID() == targetID) fReports[i]->SetReport(status, report, length);