如何禁用触控板?
我希望在使用鼠标时禁用触摸板。 我怎样才能做到这一点? 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
您也可以直接禁用via
xinput --disable 12
(并通过类似的命令启用)
- 搜索鼠标
- 单击鼠标和触摸板
- 单击触摸板设置右侧的关/开按钮。
检查此链接: 如何在ubuntu 11.10中禁用启用触摸板
答案发现真的很整洁:
sudo add-apt-repository ppa:atareao/atareao sudo apt-get update sudo apt-get install touchpad-indicator
在此之后,您将在通知区域中切换。
我唯一希望的是能够将开关键设置为Fn + F8 (这是我键盘上的触摸板键开关…
基于@Peng Wu给出的答案,我创建了一个可以使用的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解决方案
这只是在本问题的答案中应用命令。 下面的解决方案仅限于Xfce / Xubuntu,但是虽然我偶然做到了,但我发现它太优雅了,不能在这里分享它。 所以,我最初创建了一个单独的问题 ,仅适用于Xubuntu。 这个问题不能不是这个问题的重复,因为这个原因可能会被关闭,这就是为什么我敢在这里重新发布这个答案的原因。
这是关于这两个命令:
禁用:
xinput set-prop 15 "Device Enabled" 0
启用:
xinput set-prop 15 "Device Enabled" 1
通过运行找到ID号
xinput list
这些命令可以添加到Xfce启动器中。
美丽是:
-
通过将它们添加到单个启动器中,
-
设置高级属性,如下图所示
(即’显示上次使用的项目’和’内部按钮’),
- 并添加两个特定图标,
启动器将始终显示触摸板的当前状态 。
这是如何在启动时自动禁用触摸板此方法将通过名称而不是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对我来说)总是触摸板。
现在,如果我能让nautilius的向上箭头工作并看到.dirs
定义键盘快捷键
(这个答案是从无效的编辑中复制的)
您可以将其添加为键盘组合快捷键,而不是每次要启用/禁用触摸板时都记住该命令。
在键盘快捷键的首选项下,单击添加。 为快捷方式命名,如“禁用触摸板”等,然后添加上面发现的命令
xinput set-prop "Device Enabled" 0
然后单击“应用” 然后添加另一个名为“启用触控板”的快捷方式或类似于第一个的快捷方式,并将上一个命令更改为1
xinput set-prop "Device Enabled" 1
这些都是关闭/开启的。
现在添加了这些,点击Enable Touchpad的Shortcut列(应该说’禁用’)并输入你想要的键盘快捷键,我选择了Win + 1 (按住Windows键并按数字1)。 对禁用触控板执行相同操作,我选择了Win + 2 。
现在Win + 1启用我的触摸板, Win + 2禁用它。
首先检查您的笔记本电脑是否启用/禁用触摸板键盘快捷键,任何机会! 在我的联想Thinkpad T500上它是Fn + F8
在我的例子中, fn + F9被映射到触摸板切换 。
但关键是什么都没有像这样在屏幕的右上方显示触摸板图标。
这是一个只需按快捷键即可切换触摸板的解决方案。
1.获取触摸板的ID
$ xinput list
2.编写用于切换触摸板的脚本
所以我得到了一个用’xinput’命令切换触摸板的bash脚本文件( 这里可以找到原始脚本)。
在我的情况下,触摸板的ID是12。
#!/bin/bash device=12 state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"` if [ "$state" -eq '1' ];then xinput --disable "$device" else xinput --enable "$device" fi
将上述脚本文件另存为.toggleTouchPad.sh
的位置。
3.用于运行脚本的键盘快捷键
最后一步是添加键盘快捷键来运行脚本文件。
所以只需在快捷方式窗口的Command
中编写sh /PATH/TO/SCRIPT
。
4.尝试快捷方式
按快捷方式,检查触摸板是否切换。
它适用于华硕A556UA笔记本电脑和Ubuntu14.04 x64 。
有待改进。
- 将触摸板切换键分配给上面的自定义快捷方式将不起作用
- 它只显示屏幕右上角的触摸板图标
- 所以我不得不分配另一个键( 超级 + F9 )而不是触摸板切换( fn + F9 )键。
请建议一种方法将触摸板切换键分配给自定义快捷方式以获得完整的解决方案
对于Ubuntu 16.04
对于禁用触摸板:
xinput --disable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
并启用触摸板:
xinput --enable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
https://bitbucket.org/barseghyanartur/xinput
这是一个非常小的代码,允许您从终端禁用/启用触摸板。
只需按照以下说明操作:
安装:
$ pip install xinput
禁用触摸板:
$ disable-touchpad
启用触控板:
$ enable-touchpad
只需在.bashrc中添加几个bash函数即可为您提供切换…
#toggle-touchpad on|off function touchpadon { /usr/bin/xinput --enable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad enabled";} function touchpadoff { /usr/bin/xinput --disable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad disabled";}
安装Jupiter应用程序。 你可以用它来禁用触摸板,它会被记住。 这在11.04,11.10和12.04的联想IdeaPad和ThinkPad上对我有效。
在Ubuntu中禁用触摸板实际上非常简单。 只需删除在Ubuntu中使用触摸板所需的软件包xserver-xorg-input-synaptics
!
sudo apt-get remove xserver-xorg-input-synaptics
这是永久禁用触摸板的唯一方法,对我有用。 其他方式只是暂时的:
xinput list xinput set-prop IDOFTOUCHPAD "Device Enabled" 0 synclient TouchpadOff=1
我正在使用LXDE,我无法通过将这些行添加到带有@
~/.config/lxsession/LXDE/autostart
或/etc/xdg/lxsession/LXDE/autostart
来自动禁用触摸板。 它被忽略了。
我尝试用dconf-editor(org.gnome.desktop.peripherals.touchpad)和gconf-editor(desktop.gnome.peripherals.TOUCHPADNAME)禁用触摸板,但两者都不起作用。 dconf-editor上的设置完全没有任何效果,并且在gconf-editor上它一直显示错误消息“此键没有架构”。
我尝试使用笔记本电脑function键( fn )禁用指针,它的工作原理。 但是在我11.04天期间没有用,所以试一试。
如果您的笔记本电脑键盘没有触摸板打开/关闭特殊function键,也许您可以找到模拟它的屏幕虚拟键盘(虽然我还没有找到)。
除此之外,这很好用:
sudo apt-get install gpointing-device-settings
戴尔笔记本电脑在Ubuntu 12.04 LTS上对我有用
我想禁用键盘中间的指针,并在键入时产生很多问题。 所以:
$ xinput list ⎡ Virtual core pointer id=2 ⎜ ↳ Virtual core XTEST pointer id=4 ⎜ ↳ Wacom Graphire2 4x5 eraser id=9 ⎜ ↳ Wacom Graphire2 4x5 cursor id=10 ⎜ ↳ Wacom Graphire2 4x5 id=11 ⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14 ⎜ ↳ Macintosh mouse button emulation id=15 ⎜ ↳ DualPoint Stick id=13 ⎣ Virtual core keyboard id=3 ↳ Virtual core XTEST keyboard id=5 ↳ Video Bus id=6 ↳ Power Button id=7 ↳ Sleep Button id=8 ↳ AT Translated Set 2 keyboard id=12 The device I want to disable has id 13. Use xinput to list its properties: $ xinput -list-props 13 Device 'DualPoint Stick': Device Enabled (115): 0 [...several lines removed...] $ xinput -set-prop 13 115 0
这已经禁用了Dualpoint棒。 但其他答案都没有对我有用。 我做到了
安装dconf-tools
:
sudo apt-get install dconf-tools dconf-editor
然后转到org – > gnome – > settings-daemon – > peripherals – > touchpad并取消选中启用触摸板的字段
我找到了一个很好的解决方案,创建一个将调用该命令的键绑定:
xdotool key 199
其中199是一个被识别为XF86TouchpadToggle的键码。 通过这种方式,人们可以将他/她选择的关键组合表现得像一个特殊键,一些笔记本电脑必须切换触摸板,因为桌面环境如Mate或Cinnamon处理它很棒。 您可以通过此命令检查密钥代码:
xmodmap -pke
我在我的博客上创建了一个操作方法: https : //artofcode.wordpress.com/2017/10/01/how-to-add-a-key-binding-to-toggle-a-touchpad-under-linux /
我有一个使用Ubuntu 11.10(64位)的Medion Akoya笔记本型号P7812, Fn & F6按键组合禁用触摸板。
替代解决方案适用于所有触摸板,无需身份证。
打开一个终端并写上“gedit toggle_touchpad.sh”
#!/bin/bash condition="$(gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)" if [ "$condition" == "false" ]; then gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true elif [ "$condition" == "true" ]; then gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false fi
保存文件并退出。 现在你有了一个名为“toggle_touchpad.sh”的文件
运行命令chmod +x toggle_touchpad.sh
以使文件可执行。
将文件放在您喜欢的任何文件夹中。 我们假设你在文件夹/ home / username / myscripts /中有它。
从右上角的菜单进入system-settings->keyboard->shortcuts->custom-shortcuts
。
创建一个新的快捷方式,并根据需要输入名称。 作为命令/home
,其中“username”是您的用户名
指定所需的任何键盘快捷键。
准备:)
PS我个人把文件放在/opt/myscripts/
文件夹中,但是为了把它放在那里你应该在创建文件后运行以下命令:
sudo mkdir /opt/myscripts/ sudo mv toggle_touchpad.sh /opt/myscripts/ sudo chown : /opt/myscripts/toggle_touchpad.sh chmod +x /opt/myscripts/toggle_touchpad.sh
其中“username”是您的用户名
然后,当您创建快捷方式时,您将使用路径“/opt/myscripts/toggle_touchpad.sh”而不是上面提到的路径
首先使用xinput list获取触摸板的基本设备名称…然后将带有完整设备名称的xinput disable命令(以双qoutes接受空格)添加到〜/ .bashrc文件中(即xinput disable“SynPS / 2 Synaptics TouchPad“)上面的脚本非常受欢迎。
这种方法有效,但我似乎无法使用“赢”按钮。 所以我使用了Ctrl F1和F2 。
目前我的笔记本电脑操作系统是ubuntu 14.04LTS。
哦,需要使用下面的命令找出xinput < id >
。 对于Ubuntu 14.04,它是“SynPS / 2 Synaptics TouchPad”
xinput list SynPS/2 Synaptics TouchPad id=###
我在这里尝试了所有以前的答案但没有成功。
在Ubuntu 16.10上对我有用的是
killall syndaemon syndaemon -i 1 -KRd
您可能希望将值1更改为0.5。
因此,通过结合Krzysztof Tomaszewski和JaeJun LEE的答案,我找到了这个解决方案。
创建以下toggleTouchPad.sh
脚本并将其保存在您想要的任何位置:
#!/bin/bash device=14 state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"` if [ "$state" -eq '1' ];then xinput --disable "$device" && sleep 1 && xdotool key 201 else xinput --enable "$device" && sleep 1 && xdotool key 200 fi
其中14是你的TouchDevice Id(参考JaeJun LEE的回答 )
-
转到Ubuntu设置 – >设备 – >键盘
-
在列表的末尾,单击
+
以添加新的自定义快捷方式 -
将它命名为
Toggle Touchpad
,使用Command/path/to/.toggleTouchPad.sh
以及您想要的任何组合键(我刚刚选择了Super + F7)。
现在,每当你点击你选择的组合键时,它不仅可以切换触摸板,而且还可以通过xdotool
显示通知图标
为了禁用我的dell latitude的中间棒,我把它放在Ubuntu的.profile上,所以每当我启动/重新启动我的笔记本电脑时,它都会禁用该输入。
我使用--id-only
来避免grep中的不匹配
declare -i ID ID=`xinput list --id-only 'AlpsPS/2 ALPS DualPoint Stick' | 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 echo "id" $ID xinput disable $ID echo "Touchpad disabled." else echo "id" $ID xinput enable $ID echo "Touchpad enabled." fi
在我的情况下,使用Slimbook和Kubuntu,我只使用了组合: Fn + Z.
这会禁用或启用触控板。