在 Ubuntu 18.04 上禁用触摸板(暂时)

  • 本文关键字:触摸 暂时 Ubuntu ubuntu
  • 更新时间 :
  • 英文 :


我在System76 Oryx笔记本电脑上使用Ubuntu 16.04。 触控板非常敏感,所以我曾经使用 Fn+F1 禁用它。 这在 18.04 中不再有效。 我环顾四周,发现:

synclient TouchpadOff=1 

当我设置它似乎工作了一秒钟然后重置时......

$ synclient TouchpadOff=0
$ synclient | grep TouchpadOff
TouchpadOff             = 0
$ synclient | grep TouchpadOff
TouchpadOff             = 1

我还发现:

xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0

但这似乎更持久。 当我尝试设置回 1 时,它仍然关闭。 看来我现在需要重新启动才能重新打开它。 我曾经可以使用 Fn+F1 切换。

您是否尝试过安装触摸板指示器

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator

它将

  • 禁用/启用带有指示器菜单或键盘快捷键的触摸板。

  • 插入鼠标时禁用触摸板。

  • 禁用触摸板时 打字。

我认为它将解决"工作一秒钟"的问题

希望对你有帮助

我假设您想禁用触控板,因为它令人讨厌的滚动和单击行为(是的,我知道当您假设时会发生什么:您用你和我制作了一个 ASS,但这不是第一次)。

我也刚刚从 16.04 升级到 18.04,发现我的触控板行为在看似随机的滚动和鼠标单击中欠佳,即使我在系统设置 GUI 中禁用了滚动和鼠标单击。

基本上,我只是希望能够用触控板定位光标,而不是其他任何东西。 这是我发现解决了问题的方法。 首先,从 xinput 获取设备 ID:

% xinput list

您应该会看到带有其ID的触控板。 我的看起来像:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]

id=12。使用以下命令列出触摸板属性:

%  xinput --list-props 12

相关属性为"双指滚动"、"边缘滚动"和"点击时间",属性 ID 分别为 314、313 和 305。 假设您的属性 ID 与我的属性 ID 匹配,请使用以下命令禁用这些 ID:

% xinput set-prop 12 305 0
% xinput set-prop 12 313 0 0 0 
% xinput set-prop 12 314 0 0

现在,您的触控板应该只提供鼠标指针位置。 如果您的媒体资源 ID 不同,请使用您的 ID。

您可以使用以下命令创建自定义快捷方式:

gnome-terminal -- /bin/bash -c "file='/tmp/touch-disable'; id=$(xinput | grep YOUR_DEVICE_STRING | grep -o 'id=[0-9]+' | grep -o '[0-9]+'); if [ -f $file ]; then xinput enable $id; rm $file; else xinput disable $id; touch $file; fi"

此命令将切换指针设备。

如何创建快捷方式:

1 - 打开终端并找到设备:

$xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HOLTEK USB Wireless Device                id=9    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=14   [slave  pointer  (2)]
⎜   ↳ Synaptics TM3075-002                      id=13   [slave  pointer  (2)]  <-- this is my touchpad
⎣ 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=10   [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
↳ ThinkPad Extra Buttons                    id=12   [slave  keyboard (3)]

2 - 打开侏儒设置/设备/键盘快捷键 键盘设置

3 - 使用"+"按钮添加新的快捷方式 添加快捷方式

4 - 复制描述的命令并替换"YOUR_DEVICE_STRING"。示例:"突触 TM3075-002">

5 - 命名快捷方式并设置定义快捷方式

描述:

要切换触摸板启用/禁用,我们在/tmp 中创建一个文件作为标记,我们已经禁用了指针设备。在第二次执行时,我们将删除该文件,以便下次启用设备时知道。状态更改由 xinput 启用/禁用 存档。

这意味着该命令也可以作为示例:

gnome-terminal -- /bin/bash -c "file='/tmp/touch-disable'; id='Synaptics TM3075-002'; if [ -f $file ]; then xinput enable $id; rm $file; else xinput disable $id; touch $file; fi"

为了能够运行这个命令,我们可以将 gnome-terminal 与 bash shell 一起使用。

试试这个:

$ xinput list
// here you see the ID of the TouchPad
$ xinput disable ID
// Replce ID of the number of devic

我很确定我们有来自System 76的Oryx Pro的确切型号(型号:orxp1)。我注意到同样的问题,即自从我安装 Ubuntu 18.04 以来,"Fn+F1"键盘快捷键停止工作。我有一个解决方案可以恢复键盘快捷键行为,它使我的生活更轻松。

首先,我必须运行以下命令(无论出于何种原因,该命令都没有安装在 Ubuntu 18.04 上):

sudo apt install xserver-xorg-input-synaptics

然后重新启动。

备份后,键盘快捷键 (Fn+F1) 将再次工作并正确切换!由于我发现了这个解决方案并看到它完美无缺,我想我会在这里分享它。希望这有帮助!

最新更新