我可以仅为某些按键启用弹跳键吗?

我可以仅为某些按键启用弹跳键吗?

我的笔记本电脑一直存在一个问题,就是空格键的按键重复。经过多次更换,并尝试了多个操作系统后,我判断这个问题是硬件问题,而不是软件问题。

幸运的是,我了解到 Ubuntu 有一个称为弹跳键的功能,它可以让我解决这个问题,因为重复的击键会被过滤掉。

但是,启用所有键的解决方案有时会过滤掉我不想过滤的键。例如,当我输入你好,我经常按两个s 连续出现,但有时其中一个s 被过滤了,这可能相当烦人。我知道我永远不需要如此快速地连续按两次空格键,而且由于我只遇到空格键的问题,所以我只想启用空格键上的弹跳键。

那么,有可能吗仅有的 在空格键上启用弹跳键?

答案1

xset - X 的用户首选项实用程序

r 控制自动重复。

xset-r 10

将禁用“1”键的自动重复功能。

xset r 10

将启用“1”键的自动重复功能。

xset r [键码]

在我的情况下,空格键的键码是 65,请使用以下代码检查您的键码:xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'

但是如果您需要改变按键速度,您也可以使用速率参数。

并将此命令添加到会话启动脚本文件中。

答案2

我为你找到了一个解决方案,但它不涉及弹跳键。我在这里所做的是每次按下空格键时,短暂停用空格键/键盘。所以它就是这样:

我们用它xbindkeys来捕捉空格键按下(在本例中为释放)并xdotool插入空格。如果您的系统上没有安装它们,请安装它们:

sudo apt-get install xbindkeys xdotool

xbindkeys 配置文件应该已经出现在您的主文件夹中,否则.xbindkeysrc请创建一个如下文件:

xbindkeys -d > ~/.xbindkeysrc

复制代码片段并将其粘贴到您的 .xbindkeysrc 文件中。

"xdotool key KP_Space; xinput set-int-prop <kbd-id> "Device Enabled" 8 0; sleep .05 ; xinput set-int-prop <kbd-id> "Device Enabled" 8 1"
     m:0x0 + c:65 + Release
    space

<kbd-id>是可以通过命令找到的键盘 ID xinput。现在您要配置 xbindkeys 以在每次启动计算机时启动。

打开并在 之前/etc/rc.local添加该行。xbindkeysexit 0

您已完成。打开终端并键入xbindkeys以暂时启动它。看看它是否能完成工作。如果它没有捕捉到双空格或空格后缺少的字符,请相应地调整delay我们的命令~/.xbindkeysrc并重新启动。

参考:

相关内容