Bug 443721 - Keyboard repeat speed is ignored under wayland
Summary: Keyboard repeat speed is ignored under wayland
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keyboard (show other bugs)
Version: 5.23.2
Platform: Other Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2021-10-14 15:24 UTC by Till Schäfer
Modified: 2022-07-02 22:38 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.23.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Till Schäfer 2021-10-14 15:24:06 UTC
When using wayland, the keyboard repeat speed setting form the keyboard kcm is ignored.

Found Bug 398634 , but the reference upstream bug should be already resolved for qt 5.13 alpha1


Operating System: Gentoo Linux
KDE Plasma Version: 5.23.0
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2
Kernel Version: 5.14.10-gentoo (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-4810MQ CPU @ 2.80GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics 4600
Comment 1 Till Schäfer 2021-10-14 15:26:36 UTC
Its also always the same speed not matter if it is qt or gtk application
Comment 2 Patrick Silva 2021-10-14 19:10:16 UTC
On my system repeat rate changes slightly compared to X11, see bug 410626 comment 7 .

Operating System: Arch Linux
KDE Plasma Version: 5.23.0
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2
Graphics Platform: Wayland
Comment 3 Nate Graham 2021-10-14 22:40:58 UTC
Can confirm, the change seems to be ignored or is so small as to be indistinguishable for me.
Comment 4 Bug Janitor Service 2021-10-21 23:51:16 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1553
Comment 5 Andrey 2021-10-25 14:05:46 UTC
Git commit 4395caa2568e8200f719007484609bc6ee191351 by Andrey Butirsky.
Committed on 25/10/2021 at 14:04.
Pushed by butirsky into branch 'master'.

[wayland] fix ignored keyboard RepeatRate

X11 can take float RepeatRate, Wayland - int only so the setting is to be
rounded.
Should be indistinguishable on usual rates.

M  +1    -1    src/input.cpp

https://invent.kde.org/plasma/kwin/commit/4395caa2568e8200f719007484609bc6ee191351
Comment 6 Andrey 2021-10-25 14:06:36 UTC
Git commit 1dc40064e3abb614c960dab494d7dd0796a48795 by Andrey Butirsky.
Committed on 25/10/2021 at 14:06.
Pushed by butirsky into branch 'Plasma/5.23'.

[wayland] fix ignored keyboard RepeatRate

X11 can take float RepeatRate, Wayland - int only so the setting is to be
rounded.
Should be indistinguishable on usual rates.


(cherry picked from commit 4395caa2568e8200f719007484609bc6ee191351)

M  +1    -1    src/input.cpp

https://invent.kde.org/plasma/kwin/commit/1dc40064e3abb614c960dab494d7dd0796a48795
Comment 7 Till Schäfer 2021-10-28 20:56:58 UTC
I have tested it with plasma 5.23.2 and there seem to be some side effects of the fix. 

1. While, the interval [1,50] seems to work as expected, the interval [50,100] seems to be capped at 50 repeats in the test area. However, in other places like kate and konsole, 100 repeats are possible. 

2. The fractional repeat rates below 1 seem to be "rounded" to 0, which disables the repeating behavior at all. Which seems a bit unexpected since there exist the extra option of disabling repeat above. 

For the second case it seem reasonable to round using ceil instead of floor.
Comment 8 Till Schäfer 2021-10-28 21:03:13 UTC
Point 2 (capping at 50 repeats) also affects kirigami apps such as neochat and all plasma input areas. Thus, this may not be an issue related to the original bug here.
Comment 9 Till Schäfer 2021-10-28 21:08:04 UTC
(In reply to Till Schäfer from comment #8)
> Point 2 (capping at 50 repeats) also affects kirigami apps such as neochat
> and all plasma input areas. Thus, this may not be an issue related to the
> original bug here.

Nevertheless, this seems to be wayland only. On X11 repeat rates above 50 work in the test area, plasma applets and other kirigami apps.
Comment 10 Andrey 2021-10-29 00:16:12 UTC
(In reply to Till Schäfer from comment #9)
> Nevertheless, this seems to be wayland only. On X11 repeat rates above 50
> work in the test area, plasma applets and other kirigami apps.
Would you open a separate issue about this?
Comment 11 Andrey 2021-10-29 01:03:18 UTC
(In reply to Till Schäfer from comment #7)
> 2. The fractional repeat rates below 1 seem to be "rounded" to 0, which
> disables the repeating behavior at all. Which seems a bit unexpected since
> there exist the extra option of disabling repeat above. 
> 
> For the second case it seem reasonable to round using ceil instead of floor.
There will be "0" position disabling the rate, anyway, so maybe not too unexpected?
I'm not against it, just asking.
Comment 12 Till Schäfer 2021-10-29 07:55:48 UTC
(In reply to Andrey from comment #10)
> (In reply to Till Schäfer from comment #9)
> > Nevertheless, this seems to be wayland only. On X11 repeat rates above 50
> > work in the test area, plasma applets and other kirigami apps.
> Would you open a separate issue about this?

I have opened Bug 444589
Comment 13 Till Schäfer 2021-10-29 07:58:16 UTC
(In reply to Andrey from comment #11)
> (In reply to Till Schäfer from comment #7)
> > 2. The fractional repeat rates below 1 seem to be "rounded" to 0, which
> > disables the repeating behavior at all. Which seems a bit unexpected since
> > there exist the extra option of disabling repeat above. 
> > 
> > For the second case it seem reasonable to round using ceil instead of floor.
> There will be "0" position disabling the rate, anyway, so maybe not too
> unexpected?
> I'm not against it, just asking.

The slider is in the interval (0,100] with a lowest repeat rate of 0.2. Thus, under X11, this always causes a repeating behavior.
Comment 14 Andrey 2021-10-29 12:24:18 UTC
(In reply to Till Schäfer from comment #13) 
> The slider is in the interval (0,100] with a lowest repeat rate of 0.2.
> Thus, under X11, this always causes a repeating behavior.
Got it (sorry I don't have my Plasma runnable ATM).
I though about rounding to the nearest integer, but maybe ceiling would be better indeed, then.
Comment 15 Bug Janitor Service 2021-10-29 22:50:25 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1586
Comment 16 Vlad Zahorodnii 2021-11-08 08:40:09 UTC
Git commit 43aec9ca18c850f40bf2c23e461f8bf6ddd87a51 by Vlad Zahorodnii, on behalf of Andrey Butirsky.
Committed on 08/11/2021 at 08:37.
Pushed by vladz into branch 'master'.

fixup! [wayland] fix ignored keyboard RepeatRate

Ceiling so that it repeats on minimal 0.x rates accessible via UI

M  +3    -1    src/keyboard_input.cpp

https://invent.kde.org/plasma/kwin/commit/43aec9ca18c850f40bf2c23e461f8bf6ddd87a51
Comment 17 Vlad Zahorodnii 2021-11-08 08:42:42 UTC
Git commit ac081cad79930a419d413858ca2c3400d571d569 by Vlad Zahorodnii, on behalf of Andrey Butirsky.
Committed on 08/11/2021 at 08:41.
Pushed by vladz into branch 'Plasma/5.23'.

fixup! [wayland] fix ignored keyboard RepeatRate

Ceiling so that it repeats on minimal 0.x rates accessible via UI
(cherry picked from commit 43aec9ca18c850f40bf2c23e461f8bf6ddd87a51)

M  +2    -1    src/input.cpp

https://invent.kde.org/plasma/kwin/commit/ac081cad79930a419d413858ca2c3400d571d569
Comment 18 Damian Kaczmarek 2022-07-02 22:38:15 UTC
It's still broken for me on kwin 5.25.2. Are there any workarounds? I just switched from X11 to Wayland and the low repetition speed is hugely inconvenient. PS. otherwise the Wayland sessions seems pretty solid. Thanks KDE Team!