我希望退格键的重复率特别高,延迟时间很短,但其他所有键的延迟和重复率都很正常。此命令有效,但要为每个键设置:
xset r rate 120 30
有没有办法对各个按键进行不同的设置?
答案1
我认为你的问题的答案是不,没有办法实现这一点除了修改 X.org 源之外。
这里解释了为什么xset
不起作用;我正在创建一个答案,因为它对应于在 OP 和上面的答案中发现的评论。
xset r
有几种不同的调用方式。这些方式互相排斥,即:
xset r 22
..将打开键码 22(退格键)的重复功能,而xset -r 22
将关闭该功能。
或者,可以指定键盘速率,但是仅有的为了全部键:
xset r rate [num1 [num2]]
你不能将两者结合起来。
至于08/22困惑:08是个ASCIIASCII 代码特点退格键,以及22是 X 窗口关键代码对于特定的身体钥匙。
不幸的是,这两个设置(速率/延迟和每个按键重复开关)由两个不同的 X 扩展处理:
- “速率/延迟”由 XF86Misc 扩展处理。
xset
使用函数更改速率/延迟XF86MiscGetKbdSettings( display, values )
。XF86MiscKbdSettingsvalues
结构仅包含重复速率和延迟的字段(以及此处不重要的另外两个字段),并且没有其他方法可以应用它,只能通用。 - “每个键的开关”由 XKB 扩展控制。XKB 扩展允许控制选定的键,但保存这些键信息的结构仅包含一个可以采用以下三个值之一的字段:默认、不重复、重复。
简而言之,这在当前的 X.org 设置中似乎是不可能实现的。
答案2
尝试:
xset r 8 rate 120 30
这xset
www.x.org 上的手册页提供一些有关命令的帮助。我还发现键盘键和键码值,它在 Adobe 的网站上,但我认为密钥代码应该是正确的。