मैं कमांड लाइन का उपयोग करके टचपैड को कैसे अक्षम कर सकता हूं?


39

क्या टर्मिनल कमांड का उपयोग करके टचपैड को अक्षम करने का एक तरीका है?

जवाबों:


55

टच पैड बंद करने के लिए:

synclient TouchpadOff=1

इसे वापस चालू करने के लिए:

synclient TouchpadOff=0

सरल लेकिन बिंदु पर जाएं।
एडी मलसासा अकबर

7
मेरे कंप्यूटर पर काम नहीं करता है ...
Casper

दिलचस्प, जानना अच्छा है।
एलरॉक्सैक

2
आदेश Dell XPS 13 पर मेरे Ubuntu 14.04 LTS पर त्रुटि के बिना चला, लेकिन कोई प्रभाव नहीं पड़ा।
IJ कैनेडी

टॉगल अच्छा होगा - मैं इसे शॉर्ट कट या कुछ और के रूप में स्थापित करना चाहूंगा। बेहतर अभी तक, जब यह डॉक किया जाता है, तो मैं टचपैड को बंद करना चाहता हूं
क्रिश्चियन बोंगिएरो

22

कम से कम दो तरीके हैं (जो मुझे पता है) आप कोशिश कर सकते हैं।

synclient

यदि आपका लैपटॉप एक सिनैप्टिक्स (या एएलपीएस) टचपैड से लैस है, तो आप वास्तव 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

आर्चलिनक्स - विकी - टचपैड सिंथेटिक्स

उबंटू से पूछें - मैं अपनी सिंक्रोनाइज़िंग सेटिंग्स को कैसे स्टिक करूँ? - उबंटू

xinput

यदि आप नहीं चाहते हैं या 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

आगे पढ़ने के लिए लिंक

ubuntu - विकि - इनपुट

ध्यान दें

गुणों को या तो के माध्यम से सेट करते समय xinputया synclientगुणों को अन्य उपकरण पर सेट नहीं किया जाता है। वे एकता-नियंत्रण-केंद्र में भी स्थापित नहीं हैं।


1
दूसरे उत्तर के लिए धन्यवाद। synclientमेरे लिए काम नहीं किया, xinputकिया।
रॉबिन विंसलो

1
ध्यान दें कि xinputआईडी पुनरारंभ पर बदल सकते हैं। इसलिए स्क्रिप्ट या शॉर्टकट में इन आईडी पर भरोसा करने से काम नहीं चलेगा।
लोड

synclientपूरी तरह से आर्क लिनक्स पर काम करता है। बहुत बहुत धन्यवाद !!!
थियोडोर आर। स्मिथ

इसने मेरे लिए यह किया। विशेष रूप से, मुझे लगता है मैं रन की जरूरत है की खोज की xinput <enable/disable> <id>, के रूप में स्थापित करने TouchpadOffके माध्यम से synclientअप्रभावी था।
माइकल मोल

परिचय के लिए धन्यवाद xinput। मैं अपने बिलिन कीबोर्ड और ट्रैकपॉइंट बटन के साथ अचार के एक बिट में था, जाहिरा तौर पर खराब इनपुट भेज रहा था जो बाहरी कीबोर्ड से इनपुट के साथ हस्तक्षेप करता था। इसने मुझे अंतर्निहित उपकरणों को निष्क्रिय करने की अनुमति दी। चीयर्स! :)
साजाकोबी 21

4

synclientऔर xinputयदि आप सूक्ति (या एकता, दालचीनी) पर्यावरण का उपयोग कर रहे हैं तो यह काम नहीं करेगा, क्योंकि यह सेटिंग्स को ओवरराइड करेगा, इसलिए यदि आप चाहते हैं synclientया xinputइन सेटिंग्स को लेना है, तो आपको पहले इसे अक्षम करना चाहिए:

  1. स्थापित dconf-editorनहीं है तो स्थापित करें:

    apt-get install dconf-editor
    
  2. रन dconf-editor

    dconf-editor 
    
  3. निर्देशिका खोलें /org/gnome/settings-daemon/plugins/mouse/या /org/cinnamon/settings-daemon/plugins/mouse/, और के लिए चेकबॉक्स अशुद्ध करें active

  4. logout या reboot

यह बनाना synclientया xinputकाम करना चाहिए ।


1
  1. अपने इनपुट उपकरणों की सूची बनाएं:

    xinput list
    

    मेरे मामले में मेरे पास यह सूची है:

    Virtual core XTEST pointer                  id=4
    Logitech M510                               id=11   
    ETPS/2 Elantech Touchpad                    id=15
    
  2. आईडी पास करके अपने टचपैड को अक्षम करें

    xinput set-prop 15 "Device Enabled" 0
    

मैन्युअल रूप से टाइप करते समय, आप उपयोग कर सकते हैं xinput enable [device]और xinput disable [device]सीधे। हालांकि, जब स्क्रिप्टिंग set-prop [device] "Device Enabled" [value]थोड़ी आसान हो सकती है, जैसा कि वर्ल्ड पायथन डेवलपर के जवाब में है।
hsandt

1

मैंने एक अजगर का टुकड़ा कोड लिखा था ताकि आप 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()

0

गनोम पर, टचपैड को टॉगल करने के लिए मेरी फ़ंक्शन कुंजी किसी कारण से काम नहीं कर रही थी, इसलिए मैंने 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()

यह भी एकता पर काम करना चाहिए, लेकिन मैंने परीक्षण नहीं किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.