为各个按键设置不同的按键频率?

Mic*_*rge 9 xorg keyboard

我希望我的退格键具有特别高的重复率和低延迟,但每个其他键都有规律的延迟和速率。此命令有效,但为每个键设置它:

xset r rate 120 30
Run Code Online (Sandbox Code Playgroud)

有没有办法为各个键设置不同的设置?

Jan*_*ary 6

我认为您的问题的答案是否定的,如果不修改 X.org 源,就无法实现这一点

这是为什么xset不起作用的解释;我正在创建一个答案,因为它对应于 OP 和上述答案中的评论。

xset r有几种不同的调用方式。互斥,即:

xset r 22
Run Code Online (Sandbox Code Playgroud)

..将打开重复键代码 22(退格键),同时xset -r 22将其关闭。

或者,可以指定键盘速率,但仅限所有键:

xset r rate [num1 [num2]]
Run Code Online (Sandbox Code Playgroud)

你不能将两者结合起来。

至于08 / 22混淆:08是ASCII字符退格的ASCII码,22是特定物理的 X windows键码

不幸的是,这两个设置(速率/延迟和每键重复开关)由两个不同的 X 扩展处理:

  • “速率/延迟”由 XF86Misc 扩展处理。xset使用函数更改速率/延迟XF86MiscGetKbdSettings( display, values )。该valuesXF86MiscKbdSettings结构只包含重复率和延迟(以及在这里没有重要的两个人)领域,并没有采用,但普遍的方式。
  • “每键开关”由 XKB 扩展控制。XKB 扩展允许控制选定的键,但保存这些键信息的结构只包含一个字段,该字段可以采用以下三个值之一:默认、不重复、重复。

简而言之,这在当前的 X.org 设置中似乎是不可能实现的。