我将我的 ubuntu 从 21.10 impish 切换到 22.04 jammy,这意味着要离开 x11 前往 Wayland。
我通过在我的.bashrc中完全禁用此行的中间单击来防止未经请求的选择粘贴或不需要的关闭选项卡:
xinput set-prop 'Synaptics TM3289-021' 'libinput Middle Emulation Enabled' 1
它在 x11 上运行良好。升级后,我收到此错误消息
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
无法找到设备 Synaptics TM3289-021
当我这样做时xinput list
,我没有拿到我的触摸板,而是
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:16 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:16 id=7 [slave pointer (2)]
⎜ ↳ xwayland-pointer-gestures:16 id=8 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:16 id=9 [slave keyboard (3)]
如何使用 Wayland 协议禁用中键?
解决方案
使用命令:
gsettings set org.gnome.desktop.peripherals.touchpad middle-click-emulation true
当我们启用中键模拟时,如果您的触摸板上有真正的中键,他将被禁用。你不需要把它放到你的.bashrc中来保持它的持久性。这是属性描述。您可以使用dconf-editor gui 自定义它(比命令行更快)
如果你不知道dconf是什么。
为什么它不再工作了
Wayland 使用 libinput 代替 xinput。因此,您将无法再使用 xinput 更改设置。 有关libinput 文档的更多信息
奖励:探索/dev/input
我发现这个非常有趣的教程解释了如何探索输入设备。
这是一些用于发现鼠标输入的python3代码:
将其保存到file.py并运行
sudo python3 file.py