我的笔记本电脑键盘被水损坏,左侧控制键偶尔会激活。
我知道 xmapmod -e "keycode 37=" 可以禁用左控制键。我寻求做其他事情,因为这会引起新问题。当我按住任何其他键(例如“a”)时,将重复键入 a直到左 ctrl 激活。尽管左控件现在不执行任何操作(感谢 xmapmod),但它仍然会中断按键按住。
我想我需要停止键盘,甚至监听左控制键。
有人能解决这个问题吗?我正在使用 Linux Mint。谢谢
答案1
要“完全禁用按键”,从某种意义上说,这将有助于水损坏的键盘,我认为您必须对键盘本身中的键盘控制器芯片进行重新编程,或者对键盘线矩阵进行物理修改以切断/绕过故障钥匙。
除非你的键盘有些特别,否则可能不值得这么麻烦。如果您想尝试修复旧键盘,请购买替换/替代键盘第一的:在您发现自己不知道非破坏性地拆开旧键盘的技巧之后,紧急跑到计算机硬件商店一点也不有趣。 (去过也做过。)
答案2
如果您确实想禁用该键,可以通过在内核级别重新映射它来完成 ( udev
)。这是一个相当复杂的过程。 本文有一节介绍如何阻止睡眠键,您可以将其用作死控制键。
步骤概要:
- 使用 识别键盘的输入设备 ID
evemu-describe
。 - 使用 确定您想要阻止的关键代码
evtest
。 - 创建自定义按键代码文件
/etc/udev/hwdb.d/50-block-ctrld.hwdb
。 - 将设备 ID 添加到顶部文件。
- 添加
KEYBOARD_KEY_xxx=reserved
到文件中,其中xxx
是关键代码。 systemd-hwdb
使用和应用自定义键代码文件udevadm
。
请注意,步骤 4 已完成,因为您必须正确设置设备 ID 的格式,否则将不会发生任何情况。 本文关于如何识别键盘事件源和按键代码有很好的描述。我还概述了步骤这个答案。
正如其他人指出的那样,可能有更好的解决方案来解决您的问题。但是,如果您确实想禁用该密钥,此过程应该可以做到。