修复软件端的键盘颤动/弹跳问题

修复软件端的键盘颤动/弹跳问题

我有一个机械键盘(带有 Cherry MX Blue 开关的 Noppoo Choc Mini),几周后,即使我按了一次,某些按键也会被发送两次。我发现这是机械键盘上的常见问题,称为“颤动”(或“弹跳”)。

这很可能来自于开关机械内部的一根毛发,所以我的可能性在这里受到限制:

  • 手动更换开关(焊接、从其他地方重新订购单个零件......)
  • 买一个新的
  • ...或者在软件方面修复它。

所以我的问题是:有没有一种简单(或复杂,我会全部接受)的方法来解决这个问题? X11 中是否有内核补丁、键盘驱动程序选项、智能工具或隐藏设置来防止我的操作系统在很短的时间内注册相同的密钥?

答案1

在 ubuntu 16 上遇到这个问题,键盘老化。 Ubuntu 在系统设置 -> 通用访问 -> 打字下有一个选项。该选项称为“弹跳键”,其描述为“忽略快速重复按键”和“接受延迟”选项,并带有滑块来调节它。我真正想说的是,Arch 可能有类似的辅助功能设置,然后一般来说,操作系统可能在辅助功能下有某些选项来帮助解决此问题。这个帖子https://bbs.archlinux.org/viewtopic.php?id=213835让我思考这个问题并基本上解决了我的关键问题。

答案2

它是不是这是机械键盘的一个常见问题,而樱桃 MX 开关就是为了解决这个问题而设计的,因为开关的工作方式,你必须将触点从闩锁点上拉回来才能建立另一个触点,它不像“圆顶板”。

话虽如此,经过多年使用大多数类型的机电板而从未遇到过问题之后,我想我会在备用盒子上尝试不同的 *nix 发行版(arch,我是 slackware 用户),当我进入命令行后,我就开始多次按下按键。

我用另一个 Filco 检查了它,没有变化,然后是一个旧的 ALPS 蓝色开关,然后是一个带二极管的 g80-3000 板,但没有什么能阻止它,直到我将 BIOS kbrd 速度降低到正常,这对所有的人来说都是一个问题我用过的板子。

从我读到的内容来看,上面的弹跳延迟设置对于樱桃切换板来说通常并不完美,但由于我不离开 cli,我怀疑它对我来说真的很重要,但可能会帮助其他用户。

这可能是一个控制器问题,我不使用我所说的 Noshist (Noppoos),但几年前我确实得到了第一批 Filco Zero 板,但扫描方向和速度存在问题率,因此您会遇到很多换位错误(例如teh),并且您可以通过将信用卡(或类似的东西)以小角度向下按到4或5个键几次到基本文本编辑器中并检查来实现。结果是正确的。

这篇文章的要点是说,我从来没有见过一个坏的樱桃开关没有被某些外力损坏,最常见的是溢出物或物体掉落到板上的力量。我有一些 30 多个樱桃交换板(是的,这不是,呃,咳嗽,嗅一下问题或任何问题,伙计;)回到 1984 年的 g80-1000,它的性能和新的一样好,而且从来没有给过更多的刷子每隔几个月用干净的油漆刷清理一次。

我(在过去的 5-6 年里)看到,随着机甲板已经进入时尚领域,新用户敲击按键的力度太大了,如果你将按键触底时,它几乎不会发出声音,当您没有触底时,您将开始从键盘上获得最佳效果。

蓝色开关最适合新用户学习,切勿从红色开关开始。

也就是说,如果您每天输入的字数少于 1000 个单词或者是一名游戏玩家,那么购买机甲板就没有任何意义。 /漫谈

5 月 2 日,我越想这个,我就越记得有一些说法,在 Noppoo 的条款和条件或广告中,它只保证在 windows 盒子上工作。他们在 USB/控制器中做了一些技巧来突破 USB 的 6KRO(6 键翻转)硬限制。所以他们可以说它已经满了,或者nKRO,你只有 PS/2 以上。

ISTR 有人使用 Teensy USB 来克服这个假 USB 的东西。可能只是随机按键,Linux 和 *BSD 中没有 LED,苹果 Mac 存在更大的问题。

16 年 8 月编辑

我在 bash 中发现了这个设置,可以停止 cli 上的多键按下。它会改变按键的重复率。这似乎经常被设置为

kbdrate -r 32 -d 250 

这是 PC 可以运行的最快速度。

我发现使用..

kbdrate -r 9 -d 500

甚至可以让有问题的键盘正常工作

kbdrate -r <chars-per-second> -d <repeat-delay>

答案3

在 X11 的软件方面,您需要调整弹跳键延迟 xkbsetbouncekeysdelay

http://linux.die.net/man/3/xkbsetbouncekeysdelay

而且,与任何机械键盘一样,可能需要进行良好的清洁。

答案4

操作系统:ubuntu 16.04.6 键盘:Corsair K65 RGB

这些设置解决了我的问题:

gsettings set org.gnome.desktop.a11y.keyboard bouncekeys-enable true
gsettings set org.gnome.desktop.a11y.keyboard bouncekeys-delay 50

相关内容