红联Linux门户
Linux帮助

ubuntu下如何将笔记本自带的键盘关闭

发布时间:2016-04-05 15:15:44来源:linux网站作者:Lai-Zhenghong

想必大家都经历过这样的情况:在使用usb接口的外接键盘的时候,很容易按到笔记本自带的键盘,从而导致输入错误。尤其是你将外接键盘放在笔记本键盘上面的时候。怎么解决这个问题呢?

搜索之后,找到了答案。注意,这是在ubuntu linux下的解决方法。并不适用于windows。


使用xinput命令即可完美解决。xinput命令的常用选项如下所示:

xinput --list:查看本机的所有输入设备

xinput --query-state <device>:查询设备的状态

xinput --list-props <device>:列出该设备可以设置的选项有哪些

xinput --set-prop <device> <property> <value>:设置该设备的属性为给定的value值

xinput --enable <device>:启用该设备,该命令与xinput --set-prop <device> "Device Enabled" 1是等价的(如果该设备的可设置选项里有Device Enabled项的话)

xinput --disable <device>:禁用该设备,该命令与xinput --set-prop <device> "Device Enabled" 0是等价的(如果该设备的可设置选项里有Device Enabled项的话)


所以解决该问题的具体步骤为:


Setp 1:使用xinput --list 找到笔记本键盘的ID
可以看到,在我的机器上, AT Translated Set 2 Keyboard项的ID为14(注意,这个值14不是一成不变的,在你关机重新开机之后是可能变化的。所以在你在禁用某设备之前应该先查找它的ID)。

wallace@zhenghong-E430:~$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ThinkPad USB Travel Mouse                 id=12   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=16   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
↳ Power Button                              id=6    [slave  keyboard (3)]
↳ Video Bus                                 id=7    [slave  keyboard (3)]
↳ Video Bus                                 id=8    [slave  keyboard (3)]
↳ Power Button                              id=9    [slave  keyboard (3)]
↳ Logitech USB Keyboard                     id=10   [slave  keyboard (3)]
↳ Logitech USB Keyboard                     id=11   [slave  keyboard (3)]
↳ Integrated Camera                         id=13   [slave  keyboard (3)]
↳ ThinkPad Extra Buttons                    id=17   [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
wallace@zhenghong-E430:~$


Step 2:使用xinput --set-prop <ID> "Device Enabled" 0 (从上面的内容可知,使用xinput --disable命令是等价的)来禁用笔记本键盘。如果要重新启用它,则将命令中的0更改为1即可。

wallace@zhenghong-E430:~$ xinput --set-prop 14 "Device Enabled" 0
wallace@zhenghong-E430:~$


至此,你已经可以发现笔记本自带的键盘已经不能输入数据了。而外接的USB键盘可以输入数据。由此,问题完美解决!


本文永久更新地址:http://www.linuxdiyf.com/linux/19525.html