每当我插入另一个键盘时,按键重复率就会重置为某个值

每当我插入另一个键盘时,按键重复率就会重置为某个值

以下是我的.xinitrc:

xset r rate 250 100 &

这会将按住键盘键时的重复率设置为相当高的值。但是,每当我插入另一个键盘时,速率就会被重置为低得多的值。为什么会发生这种情况?我该如何解决?

这是否与其中一个键盘是 PS/2 键盘而另一个是 USB 键盘有关?

答案1

我通过编辑我的解决了同样的问题~/.xserverrc

它看起来像这样:

exec /usr/bin/X -nolisten tcp -ardelay 300 -arinterval 25 "$@"

它相当于xset r rate 300 40,因为 xset 使用频率,而 X 启动选项使用延迟(1000/40Hz = 25ms)。 在您的例子中, ardelay 将是 250, arinterval 将是 10。

请注意,我使用startx来启动我的 X 会话,但您的显示管理器(如果您使用)可能无法读取您的 xserverrc。即使使用 启动,Gnome 似乎也会覆盖速率startx

我正在使用连接到笔记本电脑的 USB 键盘,因此我怀疑 PS/2 与此有关。

答案2

既不编辑我的~/.xserverrc,也不编辑我的/etc/X11/xinit/xserverrc工作。

我做了一些工作ps aux | grep X来找出我的 X 服务器是如何启动的。我发现了以下内容:

/usr/lib/Xorg -background none :0 vt01 -nolisten tcp -novtswitch -auth /var/run/lxdm/lxdm-:0.auth

我很高兴看到了lxdm。这意味着我的 Xorg 会话是由 LXDM 启动的。是的,我记得现在选择了那个桌面管理器。

我查看了 LXDM 设置,对于 Arch Linux/etc/lxdm/lxdm.conf

在那里我找到以 开头的一行arg=,其中显示了传递给 X 服务器的参数。我在那里附加了-ardelay 300 -arinterval 25

我很高兴它对我有用。希望这个通用程序能让你找到自己的桌面管理器,并且对你有用!

答案3

我已经创建https://github.com/SFTtech/xautocfg来解决这个问题。

一旦它从 X 服务器获取到有新键盘的事件,它就可以自动设置键盘重复率。

通常您的桌面环境应该应用此配置,但我认为您的 DE 不支持这一点。

xautocfg不需要 root 权限并以您的用户身份运行(最好作为 systemd 用户服务)。

相关内容