답변:
터치 패드를 끄려면 :
synclient TouchpadOff=1
다시 켜려면 :
synclient TouchpadOff=0
시도 할 수있는 적어도 두 가지 방법이 있습니다.
랩탑에 Synaptics (또는 ALPS) 터치 패드가 장착되어 있으면 synclient
Shutupsquare에서 이미 언급 한대로 실제로 사용할 수 있습니다 . Ubuntu 14.04를 실행 중이며 내 컴퓨터에서 기본적으로 설치되었습니다.
synclient가 설치되어 있는지 테스트 synclient -V
하십시오 (버전 번호를보고해야 함).
터치 패드 켜기 : synclient TouchpadOff=0
터치 패드 끄기 : synclient TouchpadOff=1
나는 이것을 직접 테스트하지는 않았지만 터치 패드에 팔을 올려 놓았을 때 마우스를 움직이지 않는 것이 목표라면 도움이 될 수 있습니다.
손바닥 감지를 켭니다. synclient PalmDetect=1
손바닥 감지를 끕니다 : synclient PalmDetect=0
일반적으로으로 Synaptics 터치 패드의 모든 속성을 구성 할 수 있습니다 synclient property=value
. 속성이 다음에 표시된 사용 가능한 속성 중 하나 인 경우synclient -l
우분투-커뮤니티 도움말 위키-SynapticsTouchpad
archlinux-위키-터치 패드 시냅틱
ask ubuntu-synclient 설정을 어떻게 유지합니까? -우분투
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>
내 경우 장치 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>
OR xinput list-props <full-name>
을 사용하십시오 synclient -l
.
속성을 설정 xinput
하거나 속성을 synclient
다른 도구로 설정하지 않은 경우. 또한 통일 제어 센터에도 설정되어 있지 않습니다.
synclient
나를 위해 일 xinput
하지 않았다.
xinput
다시 시작 하면 ID가 변경 될 수 있습니다. 따라서 스크립트 또는 바로 가기에서 이러한 ID를 사용하면 작동하지 않습니다.
synclient
완전히 아치 리눅스에서 작동합니다. 정말 감사합니다 !!!
xinput <enable/disable> <id>
설정 이 효과가 없어서 실행해야한다는 것을 알았습니다 . TouchpadOff
synclient
xinput
. 내장 키보드와 트랙 포인트 버튼으로 외부 키보드의 입력을 방해하는 잘못된 입력을 보내는 피클이 약간 생겼습니다. 이를 통해 내장 장치를 비활성화 할 수있었습니다. 건배! :)
synclient
그리고 xinput
당신이 원하는 그렇다면 설정을 무시하기 때문에 당신이 그놈 (또는 연합, 계피) 환경을 사용하지 작동하는지 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
ID를 전달하여 터치 패드 비활성화
xinput set-prop 15 "Device Enabled" 0
xinput enable [device]
및 xinput disable [device]
직접. 그러나 스크립팅 할 때 set-prop [device] "Device Enabled" [value]
World Python Developer의 답변과 같이 사용 이 약간 더 쉬울 수 있습니다.
파이썬 코드를 작성하여 xinput
모든 수동 작업을 수행하지 않고도 기술을 사용할 수 있습니다 . Copyleft, AS-IS, 보증 없음, 모든 책임은 사용자에게 있습니다. 저에게 잘 작동합니다. 그놈을 사용하는 경우 다음과 같은 키 바로 가기에 매핑하십시오 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에서도 작동하지만 테스트하지 않았습니다.