diff options
author | Luke D Jones <luke@ljones.dev> | 2021-04-18 12:12:29 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-06-18 11:02:48 +0300 |
commit | 96cf492f508e385bf176628b1f94f7de16ff5394 (patch) | |
tree | 1021e4113f31e63dc238fb96d099bacc73c371d2 /drivers/hid/hid-asus.c | |
parent | cb33cde0dda6dca3ec10b34d5584dc4f25540d70 (diff) | |
download | linux-96cf492f508e385bf176628b1f94f7de16ff5394.tar.xz |
HID: asus: filter G713/G733 key event to prevent shutdown
[ Upstream commit c980512b4512adf2c6f9edb948ce19423b23124d ]
The G713 and G733 both emit an unexpected keycode on some key
presses such as Fn+Pause. The device in this case is emitting
two events on key down, and 3 on key up, the third key up event
is report ID 0x02 and is unfiltered, causing incorrect event.
This patch filters out the single problematic event.
Signed-off-by: Luke D Jones <luke@ljones.dev>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/hid/hid-asus.c')
-rw-r--r-- | drivers/hid/hid-asus.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c index 1ed1c05c3d54..60606c11bdaf 100644 --- a/drivers/hid/hid-asus.c +++ b/drivers/hid/hid-asus.c @@ -355,6 +355,16 @@ static int asus_raw_event(struct hid_device *hdev, return -1; } } + if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) { + /* + * G713 and G733 send these codes on some keypresses, depending on + * the key pressed it can trigger a shutdown event if not caught. + */ + if(data[0] == 0x02 && data[1] == 0x30) { + return -1; + } + } + } return 0; |