当前位置: 首页>>技术教程>>正文


如何禁用触摸板?

,

问题描述

我想让我的触摸板在使用鼠标时被禁用。我怎样才能做到这一点? touchpad-indicator已于11.10停止工作。它曾经在11.04工作。 Gnome3不是一个解决方案,因为我不喜欢它,并发现它的马车。

最佳解决方法

在终端中运行以下命令:

xinput list

你会得到一个如下所示的输出:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [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_1.3M             id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]

它显示所有连接的输入设备。请注意,他们都有一个ID。由于12是我的触摸板的ID,运行以下命令将禁用它。

xinput set-prop 12 "Device Enabled" 0

在Ubuntu版本>12.04中,您也可以直接通过禁用

xinput --disable 12

(并通过类似的命令启用)

次佳解决方法

  1. 搜索鼠标

  2. 点击鼠标和触摸板

  3. 点击触摸板设置右侧的/开启按钮。

touchpad,ubuntu

touchpad,ubuntu

第三种解决方法

检查这个链接:How to disable-enable touchpad in ubuntu 11.10

找到的答案真的很整齐:

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

在此之后,您将在通知区域中获得一个开关。

我唯一希望的是能够将开关键设置为Fn + F8(这是我键盘上的触摸板按键开关…

第四种方法

基于@彭吴给出的答案,我创建了一个bash脚本,可以使用…

#!/bin/bash

declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`

xinput set-prop $ID "Device Enabled" 0

echo 'Touchpad has been disabled.'

您可以手动运行它或在开始时运行它。然后你可以让脚本在启动时运行。

另一个用于切换触摸板的bash脚本:

#!/bin/bash

declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
    xinput disable $ID
    echo "Touchpad disabled."
else
    xinput enable $ID
    echo "Touchpad enabled."
fi

第五种方法

简单地说,在一个终端中:

synclient TouchpadOff=1

但是,以上似乎不再适用于Ubuntu 16.04。在这种情况下,xinput仍然有效:

xinput set-prop `xinput --list | awk '/TouchPad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0

第六种方法

Xfce /Xubuntu解决方案

这只是本问题下this答案中的命令应用。下面的解决方案仅限于Xfce /Xubuntu,但尽管我偶然发现它,但我觉得它太优雅了,不会在这里分享。所以,我最初为Xubuntu创建了a separate question。这个问题不能不重复,因为这个原因可能会关闭,这就是为什么我敢于在这里回答re-post。


这是关于这两个命令:

禁用:

xinput set-prop 15 "Device Enabled" 0

启用:

xinput set-prop 15 "Device Enabled" 1

身份证号码将通过运行找到

xinput list

这些命令可以添加到Xfce启动器中。

touchpad,ubuntu

美丽之处在于:

  • 通过将它们添加到单个启动器中

  • 设置高级属性,如下图所示

touchpad,ubuntu

(即’显示上次使用的项目’和’inside button’),

  • 并添加两个特定的图标,

启动程序将始终显示触摸板的当前状态。

touchpad,ubuntu

第七种方法

这是如何在启动时自动禁用触摸板此方法将通过名称而不是通过id更安全地禁用键盘。以下是如何获取触控板的名称:

$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad

创建一个bash脚本文件。我将这个文件添加到了ubuntu的启动应用程序中,以便在每次重新启动时运行。请记住使文件可执行。这里是内容:

#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'

第八种方法

我使用以下脚本来启用/禁用触摸板。我也将它分配给键盘快捷键。

用法:toggle_touchpad.sh [on|off]

如果你没有参数运行,那么它会简单地反转触摸板的当前状态。

#!/bin/bash
# toggle_touchpad.sh

is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`

if [ -z "$1" ]; then
    echo "Inverting touchpad state"

    if [ "$is_off" -eq '0' ];then
        synclient TouchpadOff=1
        notify-send "Touchpad Disabled"
    else
        synclient TouchpadOff=0
        notify-send "Touchpad Enabled"
    fi

else

    if [ "$1" == "on" ]; then
        echo "Turning on touchpad"
        synclient TouchpadOff=0
        notify-send "Touchpad Enabled"
    elif [ "$1" == "off" ]; then
        echo "Turning off touchpad"
        synclient TouchpadOff=1
        notify-send "Touchpad Disabled"
    else
        echo "Unknown arg! Pass no args or on/off !"
    fi

fi

第九种方法

这在11.10中对我有效:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [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_1.3M             id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]

它显示所有连接的输入设备。请注意,他们都有一个ID。由于12是我的触摸板的ID,运行以下命令将禁用它。

xinput set-prop 12 "Device Enabled" 0

我会把它放在.bashrc或其他任何东西,除非我不确定设备12(实际上是11)总是触摸板。

现在,如果我可以让up-arrow在nautilius上运行并查看.dirs

第十种方法

首先检查您的笔记本电脑是否启用/禁用触摸板键盘快捷键,任何机会!在我的联想Thinkpad T500上,它是Fn + F8

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/205.html,未经允许,请勿转载。