[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ce1eaef4-c804-c956-ce24-fa1333100060@redhat.com>
Date: Mon, 7 Dec 2020 15:06:14 +0100
From: Hans de Goede <hdegoede@...hat.com>
To: Chris Chiu <chiu@...lessos.org>, dvhart@...radead.org,
andy@...radead.org
Cc: platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org,
linux@...lessos.org, Daniel Drake <drake@...lessos.org>
Subject: Re: [PATCH] acer-wireless: send an EV_SYN/SYN_REPORT between state
changes
Hi,
On 12/7/20 7:43 AM, Chris Chiu wrote:
> From: Daniel Drake <drake@...lessos.org>
>
> Sending the switch state change twice within the same frame is invalid
> evdev protocol and only works if the client handles keys immediately as
> well. Processing events immediately is incorrect, it forces a fake
> order of events that does not exist on the device.
>
> Recent versions of libinput changed to only process the device state and
> SYN_REPORT time, so now the key event is lost.
>
> Same fix as 'commit <bff5bf9db1c94> ("platform/x86: asus-wireless: send
> an EV_SYN/SYN_REPORT between state changes")'
>
> Signed-off-by: Daniel Drake <drake@...lessos.org>
> Signed-off-by: Chris Chiu <chiu@...lessos.org>
Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans
Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.
Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.
Regards,
Hans
> ---
> drivers/platform/x86/acer-wireless.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/platform/x86/acer-wireless.c b/drivers/platform/x86/acer-wireless.c
> index e0976180532a..1b5d935d085a 100644
> --- a/drivers/platform/x86/acer-wireless.c
> +++ b/drivers/platform/x86/acer-wireless.c
> @@ -28,6 +28,7 @@ static void acer_wireless_notify(struct acpi_device *adev, u32 event)
> return;
> }
> input_report_key(idev, KEY_RFKILL, 1);
> + input_sync(idev);
> input_report_key(idev, KEY_RFKILL, 0);
> input_sync(idev);
> }
>
Powered by blists - more mailing lists