[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4707b78c-4782-48d1-8771-2015e9d296d5@kernel.org>
Date: Wed, 7 Jan 2026 09:12:34 -0600
From: Mario Limonciello <superm1@...nel.org>
To: "Ionut Nechita (Sunlight Linux)" <sunlightlinux@...il.com>,
jikos@...nel.org, bentiss@...nel.org
Cc: benato.denis96@...il.com, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org, ionut_n2001@...oo.com
Subject: Re: [PATCH 2/4] HID: asus: Filter spurious HID vendor codes on ROG
laptops
On 1/7/26 5:19 AM, Ionut Nechita (Sunlight Linux) wrote:
> From: Ionut Nechita <ionut_n2001@...oo.com>
>
> On Asus ROG G14 and G15 laptops, several HID vendor usage codes (0xea,
> 0xec, 0x02, 0x8a, 0x9e) are sent during normal operation without a clear
> purpose, generating unwanted "Unmapped Asus vendor usagepage code"
> warnings in dmesg.
>
> Add definitions for these codes and filter them out in asus_raw_event()
> to prevent kernel log spam.
>
> Tested on Asus ROG G14/G15 series laptops.
>
> Change-Id: I3f3b3a1e1698c8689e4c57582635435bfeda5990
Please strip Change-Id when sending patches to LKML.
> Signed-off-by: Ionut Nechita <ionut_n2001@...oo.com>
Otherwise LGTM, feel free to add to next version.
Reviewed-by: Mario Limonciello (AMD) <superm1@...nel.org>
> ---
> drivers/hid/hid-asus.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
> index eb14b9d13823b..06cd3d3b74af7 100644
> --- a/drivers/hid/hid-asus.c
> +++ b/drivers/hid/hid-asus.c
> @@ -57,6 +57,13 @@ MODULE_DESCRIPTION("Asus HID Keyboard and TouchPad");
> #define ROG_ALLY_X_MIN_MCU 313
> #define ROG_ALLY_MIN_MCU 319
>
> +/* Spurious HID codes sent by QUIRK_ROG_NKEY_KEYBOARD devices */
> +#define ASUS_SPURIOUS_CODE_0XEA 0xea
> +#define ASUS_SPURIOUS_CODE_0XEC 0xec
> +#define ASUS_SPURIOUS_CODE_0X02 0x02
> +#define ASUS_SPURIOUS_CODE_0X8A 0x8a
> +#define ASUS_SPURIOUS_CODE_0X9E 0x9e
> +
> #define SUPPORT_KBD_BACKLIGHT BIT(0)
>
> #define MAX_TOUCH_MAJOR 8
> @@ -348,6 +355,21 @@ static int asus_raw_event(struct hid_device *hdev,
> if (report->id == FEATURE_KBD_LED_REPORT_ID1 || report->id == FEATURE_KBD_LED_REPORT_ID2)
> return -1;
> if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) {
> + /*
> + * G14 and G15 send these codes on some keypresses with no
> + * discernable reason for doing so. Filter them out to avoid
> + * unmapped warning messages.
> + */
> + if (report->id == FEATURE_KBD_REPORT_ID) {
> + if (data[1] == ASUS_SPURIOUS_CODE_0XEA ||
> + data[1] == ASUS_SPURIOUS_CODE_0XEC ||
> + data[1] == ASUS_SPURIOUS_CODE_0X02 ||
> + data[1] == ASUS_SPURIOUS_CODE_0X8A ||
> + data[1] == ASUS_SPURIOUS_CODE_0X9E) {
> + return -1;
> + }
> + }
> +
> /*
> * G713 and G733 send these codes on some keypresses, depending on
> * the key pressed it can trigger a shutdown event if not caught.
Powered by blists - more mailing lists