On Sun, Nov 16, 2014 at 11:18:31PM +0100, Stefan Brüns wrote:
> Without the change either no scancode would be reported on release
> of force_release keys, or - if the key is marked as force_release
> erroneously - the release event and the scancode would be reported
> in separate reports to the input layer.
>
> Signed-off-by: Stefan Brüns <[email protected]>
> ---
>
> Originally sent on 28.9.2014, but somehow got lost.
> Resending as per Dmitrys request from 24.10.2014
Applied, thank you, but please next time don't use Kmail for patches -
it line-wrapped the patch and encoded it as quoted-printable.
Thanks!
>
> drivers/input/keyboard/atkbd.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
> index 2dd1d0d..6375ae6 100644
> --- a/drivers/input/keyboard/atkbd.c
> +++ b/drivers/input/keyboard/atkbd.c
> @@ -456,8 +456,9 @@ static irqreturn_t atkbd_interrupt(struct serio *serio,
> unsigned char data,
>
> keycode = atkbd->keycode[code];
>
> - if (keycode != ATKBD_KEY_NULL)
> - input_event(dev, EV_MSC, MSC_SCAN, code);
> + if (!(atkbd->release && test_bit(code, atkbd->force_release_mask)))
> + if (keycode != ATKBD_KEY_NULL)
> + input_event(dev, EV_MSC, MSC_SCAN, code);
>
> switch (keycode) {
> case ATKBD_KEY_NULL:
> @@ -511,6 +512,7 @@ static irqreturn_t atkbd_interrupt(struct serio *serio,
> unsigned char data,
> input_sync(dev);
>
> if (value && test_bit(code, atkbd->force_release_mask)) {
> + input_event(dev, EV_MSC, MSC_SCAN, code);
> input_report_key(dev, keycode, 0);
> input_sync(dev);
> }
> --
> 1.8.4.5
>
>
> --
> Stefan Brüns / Bergstraße 21 / 52062 Aachen
> home: +49 241 53809034 mobile: +49 151 50412019
> work: +49 2405 49936-424
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html