Linux 屏蔽键盘某个按键 block a specified key on Linux

本文讲述了作者在安装Ubuntu20.04.1时遇到的键盘问题,表现为终端无法正常翻阅历史和出现^@字符。问题涉及笔记本键盘电路可能故障,通过观察xev和evtest,发现Rog键损坏导致频繁发送scancode。文章提供了一个临时解决方案,即通过udev配置将有问题的键映射到保留区。
摘要由CSDN通过智能技术生成

摘要 Abstract

本文记录笔者在安装Ubuntu时遇到的键盘频繁发送单一字符问题。
This blog aims to record the problem that the keyboard sends a single char while installing Ubuntu OS.
系统版本 system information :20.04.1-Ubuntu SMP Thu Nov 16 14:22:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
硬件 hardware :魔霸新锐2021 ROG-Strix-G513QM
安装过程参考
The installation procress reference at

华硕魔霸新锐2021安装ubuntu双系统踩坑记录


问题描述 Issue description

  1. 直观现象:笔者在安装Ubuntu20.04.6时,发觉终端无法向上翻找历史记录,始终被拉回最后一行。
    instantly problem: I found that I cannot scroll up to view history content at terminal.
  2. 切换至tty3以后,或关机以后,在终端上出现^@字符。
    If I switch to tty3 or before shutdown, it shows that I’m writing ^@char.
    终端出现字符 char at terminal
    图1. 终端出现字符
Figure 1. char at terminal
3. 其他相关现象:在windows下使用Armory Crate,按下任意一个按键均弹出奥创中心,而按下ROG键无响应。

Other issue:

原因分析:

推测可能性:笔记本自带键盘电路故障。
Probably reason : The keyboard had some circuit problem.

解决方案:

前置知识

解决步骤

使用命令xev查看键盘事件,发现serial 37会一直按下。
在这里插入图片描述

图2. keycode 37 被按下
Figure 2. keycode 37 pressed

使用evtest查找输入设备,如下
在这里插入图片描述

图3. 输入设备
Figure 3. input device

event7即Asus Keyboard,终端输入7,回车,即可看到对应的scancode ff310038 被按下,且频繁发送Event code 148 (自定义编程键盘)。这里可以看出是rog键损坏了造成的。
在这里插入图片描述

图4. scancode ff310038 被按下
Figure 4. scancode ff310038 pressed

因此,一个暂时的解决方法就是将这个键映射到保留区上,这样系统就不会对键盘作出响应。操作如下(各指令具体含义均在前置知识可找到):

nano /etc/udev/hwdb.d/99-personal-kdb.hwdb 

nano可以换成任何文本编辑器,添加一条映射关系,然后重启即可:

evdev:input:b0003*
 KEYBOARD_KEY_ff310038=reserved
  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值