我在 2017 款 Macbook Air 上安装了 Void Linux musl 基础系统,但触摸板无法使用。
如何使触摸板工作?
我在 2017 款 Macbook Air 上安装了 Void Linux musl 基础系统,但触摸板无法使用。
如何使触摸板工作?
我需要禁用笔记本电脑的触摸板。我在 Wayland 上使用 Gnome 。
libinput
应该提供这个功能,但显然它没有。xinput
不起作用,因为我在 Wayland。如果我想禁用输入设备,是否真的问得太多了?
编辑:xinput
不是解决方案!
它的手册页有一整节关于 Wayland(强调我的):
XWAYLAND
Xwayland 是一个使用 Wayland 合成器作为后端的 X 服务器。Xwayland 充当 X 协议和 Wayland 协议之间的转换层,但不能直接访问硬件。Xwayland 创建的 X 输入扩展设备(“xwayland-pointer”、“xwayland-keyboard”等)映射到 Wayland 协议设备,而不是物理设备。这些 X 输入扩展设备仅对连接到同一 Xwayland 进程的其他 X 客户端可见。更改 Xwayland 设备上的属性只会影响这些客户端的行为。例如,使用 xinput 禁用 Xwayland 设备不会禁用 Wayland 原生应用程序中的设备. 其他更改可能根本没有任何影响。在大多数情况下,将 xinput 与 Xwayland 设备一起使用表示 shell 脚本中存在错误,并且 xinput 将打印警告。请改用 Wayland 合成器的本机设备配置方法。
TL;DR:如果我使用 禁用触摸板xinput
,它仍会像以前一样继续工作,但 XWayland 应用程序将不再看到光标移动。
我的 ThinkPad x250 上的触摸板和跟踪点已经养成了现在几乎所有时间都不工作的习惯。起初,似乎是睡眠后停止工作,然后逐渐变得更糟,即使重新启动后我也无法使其再次工作。
我也尝试过使用libinput
和synaptics
驱动程序,以及 Linux 的尖端和 LTS 版本。我尝试使用以下命令在不同的 shell 以及标准终端中重新启动:
$ modprobe -r psmouse
$ modprobe psmouse
不工作时返回xinput list
的libinput list-devices
内容不包括触摸板。当它起作用时,它们也会在那里列出。
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [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)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=11 [slave keyboard (3)]
我有什么办法知道这是硬件还是软件相关?
在 RHEL 7.4 上,Dell Latitude 7490 的触摸板和鼠标按钮默认为作为左键单击的触摸板单击、作为右键单击的左键单击以及作为中键单击的右键单击。登录后,我可以使用以下命令重新映射按钮:
xinput set-button-map "Dell081C:00 044E:121F Touchpad" 2 3 1
但是,这很脆弱:如果我使用 GNOME Tweak Tool 修改触摸板设置,映射就会变得混乱(变为 1 3 3)。此外,gdm 登录屏幕上的映射仍然混乱,阻止了会话选择(因为触摸板点击被禁用)。如何重新映射按钮,以便它们在 gdm 登录屏幕上正常工作并在任何用户会话中保持这种状态?
我有一个联想 IdeaPad 320-15AST,上面有 Debian,但触摸板不工作,并且在我的 xinput 列表中没有列出任何触摸板:
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ EasyCamera id=9 [slave keyboard (3)]
↳ Ideapad extra buttons id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
但在 Windows 上完美运行。这是一个突触触摸板。
我在 Arch Linux + GNOME 3.32 + Wayland
我希望在连接外接鼠标时禁用触摸板。我知道我已经使用了很长时间的一个很好的扩展,但它目前(在撰写本文时)尚未与 GS 3.32 一起使用。所以,我发现它也可以通过以下方式完成dconf
:
为此,我运行 dconf 编辑器并设置/org/gnome/desktop/peripherals/touchpad/send-events
为disabled-on-external-mouse
效果很好,但是enabled
每次我重新启动 GNOME 会话时都会重置。如何让它持久化?
编辑:我找到了解决方法;请看下面我的回答
Recetly 我试图通过固件更新来修复我的触摸板滞后,但它粉碎了我的整个触摸板。现在移动是倒置的,右键单击不起作用。
我的触摸板是 ELAN1200 04F3:304E,是有史以来支持最差的触摸板之一。
不过,我还是抱有希望的。
我知道触摸板被识别为 I2C-HID 设备,如果我可以用程序升级它的固件,就可以读取数据并将数据写入触摸板的芯片。
所以我正在尝试查找已连接的 i2c 设备,但 i2cdetect -l 没有运气。我的 lsusb 也不显示触摸板:
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0b05:1869 ASUSTek Computer, Inc.
Bus 001 Device 004: ID 13d3:5666 IMC Networks
Bus 001 Device 003: ID 8087:0a2b Intel Corp.
Bus 001 Device 002: ID 09da:7dc8 A4Tech Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
虽然 xinput 识别它:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ COMPANY USB Device id=13 [slave pointer (2)]
⎜ ↳ COMPANY USB Device Consumer Control id=16 [slave pointer (2)]
⎜ ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control id=19 [slave pointer (2)]
⎜ ↳ ELAN1200:00 04F3:304E Touchpad id=22 [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)]
↳ Asus Wireless Radio Control id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Video Bus id=9 [slave keyboard (3)]
↳ Power Button id=10 [slave keyboard (3)]
↳ Sleep Button id=11 [slave keyboard (3)]
↳ COMPANY USB Device id=12 [slave keyboard (3)]
↳ COMPANY USB Device Keyboard id=14 [slave keyboard (3)]
↳ COMPANY USB Device System Control id=15 [slave keyboard (3)]
↳ USB2.0 HD UVC WebCam: USB2.0 HD id=17 [slave keyboard (3)]
↳ ITE Tech. Inc. ITE Device(8910) Keyboard id=18 [slave keyboard (3)]
↳ ITE Tech. Inc. ITE Device(8910) Wireless Radio Control id=20 [slave keyboard (3)]
↳ ITE Tech. Inc. ITE Device(8910) System Control id=21 [slave keyboard (3)]
↳ Asus WMI hotkeys id=23 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=24 [slave keyboard (3)]
↳ COMPANY USB Device Consumer Control id=25 [slave keyboard (3)]
↳ ITE Tech. Inc. ITE Device(8910) Consumer Control id=26 [slave keyboard (3)]
我用来升级触摸板固件的程序在这里https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1653456/comments/161
我有兴趣从工作的触摸板芯片复制数据并将其粘贴到我的。我该怎么做?
我需要解释“突触”和“突触”的含义。惠普笔记本电脑上的 Linux Mint 19.1。笔记本电脑有一个突触触摸板,我需要在启动时禁用它。执行此操作的配置文件位于目录 /etc/X11/xorg.conf.d/ 中,文件名似乎被称为 synaptics.conf 或 50-synaptics.conf 或 70-synaptics.conf
到目前为止我所拥有的:
#!/bin/bash
output=$( xinput)
output2=$"$output" | sed 's/.* touchpad \(.*\) [ .*/\1/'
我的笔记本电脑触摸板很烂,我只想使用中央鼠标控制杆和按钮。这在 Windows 中很容易,但在 Lubuntu 中,显然只能通过命令来完成。如果 xinput 总是产生相同的 ID 号会更容易,但它们似乎在重新启动后会发生变化。我的 xinput 内容如下:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=13 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS DualPoint Stick id=14 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_3M: In id=10 [slave keyboard (3)]
↳ Dell WMI hotkeys id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
如何将“13”放入变量中以便我可以使用它来禁用该项目?