我正在运行 SwayWM。我将键盘重复延迟和速率设置~/.config/sway/config
为:
input * repeat_delay 180
input * repeat_rate 50
这适用于除 Qt5 应用程序之外的所有应用程序。Qt5 应用程序使用自己的重复延迟和速率,不受 Sway 设置的影响。
如何更改在 Wayland 下运行的 Qt5 应用程序的键盘重复延迟和速率?
答案1
更新2021-01-23:不知为何,现在它起作用了。漏洞未标记为已修复,并且代码没有变化,所以我不知道有什么区别。但现在按键重复速度很快。
我找到问题的根源了。
Qt5 很可能libinput
在 Wayland 上默认使用(我还没有证实这一点,但似乎很有可能)。qlibinputkeyboard.cpp
包含硬编码的重复设置:
const int REPEAT_DELAY = 500;
const int REPEAT_RATE = 100;
// ...
m_repeatTimer.setInterval(REPEAT_DELAY);
m_repeatTimer.start();
是的,Qt5 带有 libinput,使用其自己的硬编码设置实现了自己的重复。
因此,为了避免这种情况,似乎有必要:
- 配置 Qt5 以使用 libinput 以外的其他东西(不确定如何做到这一点);或者
- 使固定
qlibinputkeyboard.cpp
。