Відповіді:
Щоб вимкнути сенсорну панель:
synclient TouchpadOff=1
Щоб увімкнути його:
synclient TouchpadOff=0
Є щонайменше два методи (які я знаю), які ви можете спробувати.
Якщо ваш ноутбук оснащений сенсорною панеллю Synaptics (або ALPS), ви дійсно можете використовувати, synclientяк уже згадував Shutupsquare. Я запускаю Ubuntu 14.04 і на моїй машині він був встановлений за замовчуванням.
Перевірте, чи встановлено синхронієнт: synclient -V(він повинен повідомляти про номер версії)
Увімкніть тачпад: synclient TouchpadOff=0
Вимкніть тачпад: synclient TouchpadOff=1
Я сам цього не перевіряв, але якщо ваша мета - не рухати мишкою, коли ваші руки опираються на сенсорну панель, це може допомогти.
Увімкніть розпізнавання долоні: synclient PalmDetect=1
Вимкніть розпізнавання долоні: synclient PalmDetect=0
Як правило, ви можете налаштувати будь-яке властивість сенсорної панелі Synaptics за допомогою synclient property=value. Якщо властивість є однією з доступних властивостей, показаної вsynclient -l
ubuntu - вікі довідки щодо спільноти - SynapticsTouchpad
archlinux - wiki - Synaptics тачпада
Попроси ubuntu - Як зробити так, щоб мої налаштування синхронізації дотримувалися? - Ubuntu
Якщо ви не хочете або не можете використовувати synclient, ви також можете використовувати xinput. Процедура дещо схожа.
перерахуйте всі пристрої xinput: xinput
Частина виходу може виглядати так:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB-PS/2 Optical Mouse id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=17 [slave pointer (2)]
У цьому конкретному випадку моя тачпад має id = 17, а її повна назва "ETPS / 2 Elantech Touchpad".
Команда встановити властивість є xinput set-prop. Властивість увімкнення та відключення тачпада є Device Enabled, тому для її ввімкнення або відключення введіть:
Увімкніть тачпад: xinput set-prop <id> "Device Enabled" 1(де <id>ідентифікатор вашого пристрою, в моєму випадку 17)
Вимкніть тачпад: xinput set-prop <id> "Device Enabled" 0
Увімкніть розпізнавання долоні: xinput set-prop <id> "Palm Detection" 1
Вимкніть розпізнавання долоні: xinput set-prop <id> "Palm Detection" 0
Для запиту доступних властивостей: xinput list-props <id>АБО xinput list-props <full-name>, це має бути досить подібним synclient -l.
При встановленні властивостей через один xinputабо synclientвластивості не встановлені для іншого інструменту. Вони також не встановлені в центрі єдності-контролю.
synclientне працював для мене, xinputзробив.
xinputідентифікатори можуть змінюватися під час перезавантаження. Тож покладатися на ці ідентифікатори у скриптах чи ярликах не вийде.
synclientповністю працює на Arch Linux. Дякую так багато !!!
xinput <enable/disable> <id>, оскільки налаштування TouchpadOffчерез synclientбуло неефективним.
xinput. Я трохи переймався моїми вбудованими клавішами клавіатури та шляхової точки, мабуть, посилаючи погані входи, які заважали вводу з зовнішньої клавіатури. Це дозволило відключити вбудовані пристрої. Ура! :)
synclientі xinputне працюватиме, якщо ви використовуєте середовище gnome (або єдність, кориця), оскільки це буде перекривати налаштування, тому, якщо ви хочете synclientабо xinputперейдете на ці налаштування, слід спочатку вимкнути це:
встановити, dconf-editorякщо не встановлено:
apt-get install dconf-editor
бігати dconf-editor
dconf-editor
відкрийте каталог /org/gnome/settings-daemon/plugins/mouse/або /org/cinnamon/settings-daemon/plugins/mouse/зніміть прапорець для цього active.
logout або reboot
Це має зробити synclientчи xinputпрацювати.
Перерахуйте пристрої введення:
xinput list
У моєму випадку я маю цей список:
Virtual core XTEST pointer id=4
Logitech M510 id=11
ETPS/2 Elantech Touchpad id=15
Вимкніть тачпад, передавши ідентифікатор
xinput set-prop 15 "Device Enabled" 0
xinput enable [device]та xinput disable [device]безпосередньо. Хоча в сценаріях використання, set-prop [device] "Device Enabled" [value]можливо, буде трохи простіше, як у відповіді розробника World Python.
Я написав фрагмент коду python, щоб ви могли використовувати xinputтехніку, не виконуючи всіх ручних робіт. Copyleft, AS-IS, гарантії немає, використовуйте на свій страх і ризик. Для мене це чудово підходить: і якщо ви використовуєте gnome, просто нанесіть його на ключовий ярлик, як-от CtrlShiftT.
#!/usr/bin/python2
# -*- coding: utf-8 -*-
'''Program to toggle Touchpad Enable to Disable or vice-versa.'''
import commands
import re
def current_id():
""" Search through the output of xinput and find the line that has the
word TouchPad. At that point, I believe we can find the ID of that device."""
props = commands.getoutput("xinput").split("\n")
match = [line for line in props if "TouchPad" in line]
assert len(match) == 1, "Problem finding Touchpad string! %s" % match
pat = re.match(r"(.*)id=(\d+)", match[0])
assert pat, "No matching ID found!"
return int(pat.group(2))
def current_status(tpad_id):
"""Find the current Device ID, it has to have the word TouchPad in the line."""
props = commands.getoutput("""xinput list-props %d""" % tpad_id).split('\n')
match = [line for line in props if "Device Enabled" in line]
assert len(match) == 1, "Can't find the status of device #%d" % tpad_id
pat = re.match(r"(.*):\s*(\d+)", match[0])
assert pat, "No matching status found!"
return int(pat.group(2))
def flop(tpad_id, status):
"""Change the value of status, and call xinput to reverse that status."""
if status == 0:
status = 1
else:
status = 0
print "Changing Device #%d Device Enabled %d" % (tpad_id, status)
commands.getoutput("""xinput set-prop %d "Device Enabled" %d""" % (tpad_id, status))
def main():
"""Get curent device id and status, and flop status value."""
tpad = current_id()
stat = current_status(tpad)
flop(tpad, stat)
main()
У Gnome моя функціональна клавіша для переключення тачпада чомусь не працювала, тому я створив сценарій за допомогою gsettings.
xinputрішення повністю деактивує тачпад, як очікувалося. Якщо ви, як я, ваша єдина проблема полягає в тому, що ви ненавмисно переміщаєте курсор під час набору, проте цього буде достатньо.toggle_touchpad_gsettings.py
#!/usr/bin/python3.6
import sys
import subprocess
gsettings_schema, gsettings_key = "org.gnome.desktop.peripherals.touchpad", "send-events"
def get_touchpad_send_events():
send_events_value = subprocess.check_output(["gsettings", "get", gsettings_schema, gsettings_key])
return send_events_value.strip()
def toggle_touchpad():
# string returned from get is a repr including quotes,
# but string sent with set does not need to have quotes
if get_touchpad_send_events() == b"'enabled'":
newval = 'disabled'
else:
newval = 'enabled'
subprocess.Popen(["gsettings", "set", gsettings_schema, gsettings_key, newval])
print(f"Set {gsettings_schema}:{gsettings_key} to {newval}")
def main():
toggle_touchpad()
if __name__ == '__main__':
main()
Він також повинен працювати на Unity, але я не пройшов тестування.