Re: config option to change key soft autorepeat behavior
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2020-01-10 01:02:25
Hi Will, On Wed, Jan 08, 2020 at 01:08:54PM -0800, Will Tipton wrote:
Hello, I'd like to add an option to the input subsystem to change the behavior of key repeat. Essentially, when two keyboard keys 'a' and 'b' are held down simultaneously, I'd like to get 'abababab...' rather than 'abbbbbbbb...'. Another example of a request for this feature is here <https://tl.net/forum/sc2-strategy/446530-rapid-fire-hotkey-trick?page=4#64> . Re: implementation -- I think this is a relatively minor change in input.h/.c <https://github.com/torvalds/linux/blob/master/drivers/input/input.c#L153>. When this kernel option is enabled, the timer and repeat_key <https://github.com/torvalds/linux/blob/master/include/linux/input.h#L165> members of input_dev are replaced by a container of (timer, key) tuples. There's one entry in this container for each currently-pressed key, and each entry is basically managed the same way the singular timer and repeat_key are managed currently. I'm curious whether: - a patch adding this feature is likely to be accepted. - the implementation strategy I mentioned is the best approach.
Given that most environments (X, Wayland) ignore kernel autorepeat and implement it themselves (since autorepeat parameters are really more of a user preferences rather than hardware/system properties), I do not think we should leave the kernel as is. Thanks. -- Dmitry