Owen Asked: 2020-06-22 12:53:51 +0800 CST2020-06-22 12:53:51 +0800 CST 2020-06-22 12:53:51 +0800 CST Wayland 上的 Qt5 - 如何设置键盘重复率? 772 我正在运行 SwayWM。我将键盘重复延迟和速率设置~/.config/sway/config为: input * repeat_delay 180 input * repeat_rate 50 这适用于除 Qt5 应用程序之外的所有应用程序。Qt5 应用程序使用自己的重复延迟和速率,并且不受 Sway 设置的影响。 如何更改在 Wayland 下运行的 Qt5 应用程序的键盘重复延迟和速率? qt wayland 1 个回答 Voted Best Answer Owen 2020-07-11T08:07:16+08:002020-07-11T08:07:16+08:00 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(); 是的,带有 libinput 的 Qt5 使用自己的硬编码设置实现了自己的重复。 因此,为了避免这种情况,似乎有必要: 将 Qt5 配置为使用 libinput 以外的其他内容(不确定如何执行此操作);或者 修复qlibinputkeyboard.cpp.
2021-01-23更新:由于某种原因,它现在可以工作了。该错误没有标记为已修复,代码也没有更改,所以我不知道有什么区别。但是现在按键重复速度很快。
我找到了问题的根源。
Qt5 很可能
libinput
在 Wayland 上默认使用(我还没有证实这一点,但似乎很可能)。的源qlibinputkeyboard.cpp
包含硬编码的重复设置:是的,带有 libinput 的 Qt5 使用自己的硬编码设置实现了自己的重复。
因此,为了避免这种情况,似乎有必要:
qlibinputkeyboard.cpp
.