完全禁用特定键盘按键

完全禁用特定键盘按键

我的笔记本电脑键盘被水损坏,左侧控制键偶尔会激活。

我知道 xmapmod -e "keycode 37=" 可以禁用左控制键。我寻求做其他事情,因为这会引起新问题。当我按住任何其他键(例如“a”)时,将重复键入 a直到左 ctrl 激活。尽管左控件现在不执行任何操作(感谢 xmapmod),但它仍然会中断按键按住。

我想我需要停止键盘,甚至监听左控制键。

有人能解决这个问题吗?我正在使用 Linux Mint。谢谢

答案1

要“完全禁用按键”,从某种意义上说,这将有助于水损坏的键盘,我认为您必须对键盘本身中的键盘控制器芯片进行重新编程,或者对键盘线矩阵进行物理修改以切断/绕过故障钥匙。

除非你的键盘有些特别,否则可能不值得这么麻烦。如果您想尝试修复旧键盘,请购买替换/替代键盘第一的:在您发现自己不知道非破坏性地拆开旧键盘的技巧之后,紧急跑到计算机硬件商店一点也不有趣。 (去过也做过。)

答案2

如果您确实想禁用该键,可以通过在内核级别重新映射它来完成 ( udev)。这是一个相当复杂的过程。 本文有一节介绍如何阻止睡眠键,您可以将其用作死控制键。

步骤概要:

  1. 使用 识别键盘的输入设备 ID evemu-describe
  2. 使用 确定您想要阻止的关键代码evtest
  3. 创建自定义按键代码文件/etc/udev/hwdb.d/50-block-ctrld.hwdb
  4. 将设备 ID 添加到顶部文件。
  5. 添加KEYBOARD_KEY_xxx=reserved到文件中,其中xxx是关键代码。
  6. systemd-hwdb使用和应用自定义键代码文件udevadm

请注意,步骤 4 已完成,因为您必须正确设置设备 ID 的格式,否则将不会发生任何情况。 本文关于如何识别键盘事件源和按键代码有很好的描述。我还概述了步骤这个答案

正如其他人指出的那样,可能有更好的解决方案来解决您的问题。但是,如果您确实想禁用该密钥,此过程应该可以做到。

相关内容