禁用内置键盘

禁用内置键盘

我正在尝试从内置键盘获取输入,但是它没有显示内置键盘和 ID。(我正在使用 Ubuntu 21.04)

我得到以下信息:

WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ xwayland-pointer:17                       id=6    [slave  pointer  (2)]
⎜   ↳ xwayland-relative-pointer:17              id=7    [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ xwayland-keyboard:17                      id=8    [slave  keyboard (3)]

有人可以帮忙解决这个问题吗?并告知为什么xinput -list不显示所有详细信息。

答案1

该工具本身会为您指明正确的方向:

警告:正在xinput针对 Xwayland 服务器运行。xinput有关详细信息,请参阅手册页。

手册页中的相关详细信息(man xinput(重点是我的):

Xwayland 是一个使用 Wayland Compositor 作为后端的 X 服务器。Xwayland 充当 X 协议和 Wayland 协议之间的转换层,但不能直接访问硬件。Xwayland 创建的 X 输入扩展设备(xwayland-pointerxwayland-keyboard等)映射到 Wayland 协议设备,而不是物理设备。

这些 X 输入扩展设备仅对连接到同一 Xwayland 进程的其他 X 客户端可见。更改 Xwayland 设备上的属性只会影响这些客户端的行为。例如,禁用 Xwayland 设备不会xinput在 Wayland 原生应用程序中禁用该设备。其他更改可能根本没有任何效果。

在大多数情况下,使用xinputXwayland 设备表明 shell 脚本中存在错误并 xinput 会打印警告。改用 Wayland Compositor 的本机设备配置方法。

我对 Wayland 不熟悉,也不太了解“Wayland Compositor 的本机设备配置方法”,但我发现了这一点:Wayland 的对应内容是什么xinput list

我相信你仍然可以使用老旧的 X 来代替 Wayland(事实上​​我现在正在 Kubuntu 21.04 中使用它)。在 X 中xinput list应该可以按预期工作。

答案2

对于使用 xwayland 的用户,首先找到事件 id。

$ libinput list-devices

如果需要,请安装 libinput(sudo apt install libinput-tools)。这将列出所有输入设备及其事件 ID。滚动找到正确的部分(类似“AT Translated Set 2 keyboard”)并找到行 Kernel: /dev/input/event#。使用事件# 执行下一个命令:

$ udevadm info -a -p /sys/class/input/event#

找到最有可能独特/不同的属性。例如 ATTRS{name}=="AT Translated Set 2 keyboard",然后创建规则文件

sudo nano /etc/udev/rules.d/99-disable_touchscreen.rules

遵循以下规则

KERNEL=="event*", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{LIBINPUT_IGNORE_DEVICE}="1"

然后通过以下命令检查它是否有效:

$ udevadm test /sys/class/input/event#

并搜索

LIBINPUT_IGNORE_DEVICE=1

最有可能是在最后 3 行内。然后重新启动,您的内部键盘应该被禁用。

礼貌:https://wiki.archlinux.org/title/Dell_XPS_13_(9343)#Disable_the_touchscreen

相关内容