Hi,

On 12/7/20 7:43 AM, Chris Chiu wrote:
> From: Daniel Drake <dr...@endlessos.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 <dr...@endlessos.org>
> Signed-off-by: Chris Chiu <c...@endlessos.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);
>  }
> 

Reply via email to