Re: [PATCH AUTOSEL 4.18 24/58] Input: atakbd - fix Atari CapsLock behaviour

Michael Schmitz
2018-10-08T19:09:43Z

Dmitry,

someone on debian-68k reported the bug, which (to me) indicates that the
code is not just used by me.

Whether or not a functioning Capslock is essential to have? You be the
judge of that. If you are OK with applying the keymap patch, why not
this one?

Debian will carry stable patches without explicit action on behalf of
the maintainer. Unstable patches are a little harder to get accepted.

Cheers,

Michael

On 09/10/18 06:11, Dmitry Torokhov wrote:
> On Mon, Oct 8, 2018 at 8:25 AM Sasha Levin <sashal@kernel.org> wrote:
>> From: Michael Schmitz <schmitzmic@gmail.com>
>>
>> [ Upstream commit 52d2c7bf7c90217fbe875d2d76f310979c48eb83 ]
>>
>> The CapsLock key on Atari keyboards is not a toggle, it does send the
>> normal make and break scancodes.
>>
>> Drop the CapsLock toggle handling code, which did cause the CapsLock
>> key to merely act as a Shift key.
> This has been broken for 10+ years. Does it really make sense to
> promote it to stable?
>
>> Tested-by: Michael Schmitz <schmitzmic@gmail.com>
>> Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>
>> Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
>> ---
>> drivers/input/keyboard/atakbd.c | 10 ++--------
>> 1 file changed, 2 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/input/keyboard/atakbd.c b/drivers/input/keyboard/atakbd.c
>> index 524a72bee55a..fdeda0b0fbd6 100644
>> --- a/drivers/input/keyboard/atakbd.c
>> +++ b/drivers/input/keyboard/atakbd.c
>> @@ -189,14 +189,8 @@ static void atakbd_interrupt(unsigned char scancode, char down)
>>
>> scancode = atakbd_keycode[scancode];
>>
>> - if (scancode == KEY_CAPSLOCK) { /* CapsLock is a toggle switch key on Amiga */
>> - input_report_key(atakbd_dev, scancode, 1);
>> - input_report_key(atakbd_dev, scancode, 0);
>> - input_sync(atakbd_dev);
>> - } else {
>> - input_report_key(atakbd_dev, scancode, down);
>> - input_sync(atakbd_dev);
>> - }
>> + input_report_key(atakbd_dev, scancode, down);
>> + input_sync(atakbd_dev);
>> } else /* scancodes >= 0xf3 are mouse data, most likely */
>> printk(KERN_INFO "atakbd: unhandled scancode %x\n", scancode);
>>
>> --
>> 2.17.1
>>
>