如何使用libinput替代xinput?Ubuntu 17.10下禁用故障内置键盘
没问题,Wayland 环境下确实没法再用 xinput float 那套方法了,用 libinput 来禁用你的内置键盘其实很简单,跟着下面的步骤来就行:
步骤1:确认内置键盘的设备信息
先运行 libinput list-devices,找到 AT Translated Set 2 keyboard 对应的设备段。你可以直接记下它的设备全称,或者更稳妥的是记下它的 Vendor/Product ID(格式类似 Vendor: 0xXXXX, Product: 0xXXXX)。
如果需要更精准的设备属性,也可以用这个命令查询(把 eventX 替换成你从 libinput list-devices 里找到的内置键盘对应设备文件,比如 /dev/input/event3):
udevadm info -a -p $(udevadm info -q path -n /dev/input/eventX)
步骤2:创建udev规则让libinput忽略设备
Wayland 下推荐用 udev 规则来配置 libinput,这样设置是持久化的,重启也不会失效。
- 打开终端,创建一个自定义规则文件:
sudo nano /etc/udev/rules.d/99-disable-internal-keyboard.rules
- 在文件里添加下面其中一段内容即可:
- 用设备名称匹配(简单快捷):
SUBSYSTEM=="input", ENV{LIBINPUT_IGNORE_DEVICE}="1", ATTRS{name}=="AT Translated Set 2 keyboard" - 用Vendor/Product ID匹配(更精准,避免重名):
把你刚才查到的 Vendor 和 Product ID 替换进去,比如假设是0x1013和0x0011,规则就是:SUBSYSTEM=="input", ENV{LIBINPUT_IGNORE_DEVICE}="1", ATTRS{idVendor}=="1013", ATTRS{idProduct}=="0011"
- 用设备名称匹配(简单快捷):
- 保存并退出编辑器:按下
Ctrl+O回车确认保存,再按Ctrl+X退出 nano。
步骤3:让规则生效
运行下面的命令重载 udev 规则并触发设备重新识别:
sudo udevadm control --reload-rules && sudo udevadm trigger
最后注销当前用户再登录,或者直接重启系统,你的内置键盘就会被 libinput 完全忽略了,外接的 Rapoo E6100 可以正常使用不受影响。
内容的提问来源于stack exchange,提问作者user796678
相关产品推荐
相关产品推荐

