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

From: Michael Schmitz
Date: Mon Oct 08 2018 - 15:09:43 EST


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@xxxxxxxxxx> wrote:
From: Michael Schmitz <schmitzmic@xxxxxxxxx>

[ 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@xxxxxxxxx>
Signed-off-by: Michael Schmitz <schmitzmic@xxxxxxxxx>
Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx>
---
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