Message ID | 20210418091229.26001-1-luke@ljones.dev (mailing list archive) |
---|---|
State | Mainlined |
Commit | c980512b4512adf2c6f9edb948ce19423b23124d |
Delegated to: | Jiri Kosina |
Headers | show |
Series | HID: asus: filter G713/G733 key event to prevent shutdown | expand |
On Sun, 18 Apr 2021, Luke D Jones wrote: > 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> Applied, thanks.
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;
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> --- drivers/hid/hid-asus.c | 10 ++++++++++ 1 file changed, 10 insertions(+)