जवाबों:
टच पैड बंद करने के लिए:
synclient TouchpadOff=1
इसे वापस चालू करने के लिए:
synclient TouchpadOff=0
कम से कम दो तरीके हैं (जो मुझे पता है) आप कोशिश कर सकते हैं।
यदि आपका लैपटॉप एक सिनैप्टिक्स (या एएलपीएस) टचपैड से लैस है, तो आप वास्तव synclient
में शटअपस्क्वेयर द्वारा पहले ही बताए गए उपयोग कर सकते हैं । मैं Ubuntu 14.04 चला रहा हूं और मेरी मशीन पर यह डिफ़ॉल्ट रूप से स्थापित किया गया था।
यदि सिंक्रोनाइज़ स्थापित है तो टेस्ट करें: synclient -V
(यह संस्करण संख्या की रिपोर्ट करनी चाहिए)
टचपैड चालू करें: synclient TouchpadOff=0
टचपैड बंद करें: synclient TouchpadOff=1
मैंने खुद इसका परीक्षण नहीं किया है, लेकिन अगर आपका लक्ष्य माउस को स्थानांतरित नहीं करना है जब आपकी बाहें स्पर्श पैड पर आराम कर रही हैं, तो यह मदद कर सकता है।
हथेली का पता लगाना चालू करें: synclient PalmDetect=1
हथेली का पता लगाना बंद करें: synclient PalmDetect=0
सामान्य तौर पर आप अपने Synaptics टचपैड की किसी भी संपत्ति को कॉन्फ़िगर कर सकते हैं synclient property=value
। जहां संपत्ति द्वारा दिखाए गए उपलब्ध गुणों में से एक हैsynclient -l
ubuntu - comminity मदद विकि - SynapticsTouchpad
आर्चलिनक्स - विकी - टचपैड सिंथेटिक्स
उबंटू से पूछें - मैं अपनी सिंक्रोनाइज़िंग सेटिंग्स को कैसे स्टिक करूँ? - उबंटू
यदि आप नहीं चाहते हैं या synclient का उपयोग नहीं कर सकते हैं, तो आप भी उपयोग कर सकते हैं xinput
। प्रक्रिया कुछ हद तक समान है।
सूची सभी xinput उपकरणों: xinput
Ouput का हिस्सा इस तरह दिख सकता है:
⎡ 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>
, यह करने के लिए काफी similair होना चाहिए synclient -l
।
गुणों को या तो के माध्यम से सेट करते समय xinput
या synclient
गुणों को अन्य उपकरण पर सेट नहीं किया जाता है। वे एकता-नियंत्रण-केंद्र में भी स्थापित नहीं हैं।
synclient
मेरे लिए काम नहीं किया, xinput
किया।
xinput
आईडी पुनरारंभ पर बदल सकते हैं। इसलिए स्क्रिप्ट या शॉर्टकट में इन आईडी पर भरोसा करने से काम नहीं चलेगा।
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
आईडी पास करके अपने टचपैड को अक्षम करें
xinput set-prop 15 "Device Enabled" 0
xinput enable [device]
और xinput disable [device]
सीधे। हालांकि, जब स्क्रिप्टिंग set-prop [device] "Device Enabled" [value]
थोड़ी आसान हो सकती है, जैसा कि वर्ल्ड पायथन डेवलपर के जवाब में है।
मैंने एक अजगर का टुकड़ा कोड लिखा था ताकि आप 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()
गनोम पर, टचपैड को टॉगल करने के लिए मेरी फ़ंक्शन कुंजी किसी कारण से काम नहीं कर रही थी, इसलिए मैंने 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()
यह भी एकता पर काम करना चाहिए, लेकिन मैंने परीक्षण नहीं किया है।