टचपैड को सक्षम / अक्षम करें


17

मैं अपने asus ux501 vw पर Ubuntu 16.04 स्थापित करने में कामयाब रहा, लेकिन मेरे कुछ शॉर्टकट काम नहीं कर रहे हैं। मैं उन सभी को ठीक करने के लिए नहीं देख रहा हूं, लेकिन सिर्फ एक: शॉर्टकट जो मुझे टचपैड को सक्षम या अक्षम करने की अनुमति देता है, इसलिए मैं टचपैड के बारे में काम करने के साथ लंबे दस्तावेज़ लिख सकता हूं।

मैंने इसे गूगल पर खोजने की कोशिश की लेकिन मुझे कुछ नहीं मिला।

क्या कोई मुझे समझा सकता है कि कृपया कैसे ठीक करें? धन्यवाद !

जवाबों:


24

मैंने इस बैश स्क्रिप्ट को नकारात्मक उत्तर से बनाया है। यह टचपैड डिवाइस ढूंढता है और टॉगल करता है। आप सिस्टम सेटिंग्स में एक कस्टम शॉर्टकट को कॉन्फ़िगर कर सकते हैं।

#!/bin/bash

read TPdevice <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )

if [ "$state" -eq '1' ];then
    xinput --disable "$TPdevice" && notify-send -i emblem-nowrite "Touchpad" "Disabled"
else
    xinput --enable "$TPdevice" && notify-send -i input-touchpad "Touchpad" "Enabled"
fi

मैं सेट कर रहा हूं Ctrl+ Shift+F9 टॉगल सक्षम टचपैड और इस तरह से अक्षम के लिए:

यहाँ छवि विवरण दर्ज करें

संपादित करें: आपको अपनी स्क्रिप्ट को कस्टम शॉर्टकट विंडो के कमांड क्षेत्र में कमांड chmod + x फ़ाइल नाम या इनपुट / बिन / bash / filepath के साथ निष्पादन योग्य बनाने की आवश्यकता हो सकती है ।


2
वहाँ शायद ही कभी श्रृंखला grepऔर करने की आवश्यकता है sed। आप आसानी से दो को समेकित कर सकते हैं sed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p'
डेविड फ़ॉस्टर 01

3
त्रुटि पंक्ति 6 ​​के बाद Ubuntu 17.10 के लिए स्क्रिप्ट में एक छोटा सुधार: [:: पूर्णांक अभिव्यक्ति डिवाइस को खोजने में असमर्थ है टचपैड को टचपैड बदलें
ग्रेगर ग्रेजर

1
बहुत बढ़िया जवाब! मेरा एकमात्र जोड़ क्रमशः आपके और ब्लॉकों को जोड़ने zenity --info --text "Touchpad DISABLED" --timeout=2और एक विंडो को पॉप अप करने के लिए है जो नए राज्य की घोषणा करता है और फिर 2 सेकंड में आटोक्लास करता है। zenity --info --text "Touchpad ENABLED" --timeout=2ifelse
गेब्रियल स्टेपल्स

1
मेरा मामूली संशोधन यहाँ देखें: askubuntu.com/a/1109515/327339
गेब्रियल स्टेपल्स

1
अपडेट: कुछ सिस्टम आउटपुट के Touchpadबजाय से दिखाते हैं , इसलिए मैंने दोनों के लिए खोज करने के लिए अपना उत्तर अपडेट कर दिया है। इसके अलावा, मैंने इसे धीमी स्क्रॉल व्हील समस्या को भी ठीक से ठीक कर लिया है । यहाँ पूरा ans देखें: askubuntu.com/questions/844151/enable-disable-touchpad/…TouchPadxinputimwheel
Gabriel Staples

11

आप शॉर्टकट चाहते हैं, लेकिन आप आसानी से डेस्कटॉप पर 2 स्क्रिप्ट रख सकते हैं और उन्हें निष्पादित कर सकते हैं।

सबसे पहले, टर्मिनल पर जाएं। टाइप करें xinput। आउटपुट उदाहरण:

⎡ 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 

टचपैड का पता लगाएं। इस उदाहरण में, टचपैड को आईडी = 12 के रूप में सूचीबद्ध किया गया है

इसके साथ पहली स्क्रिप्ट बनाएं:

#!/bin/bash
xinput enable 12

इसे सहेजें और इसे नाम दें touchpadenable.sh, और टर्मिनल में, इसे निष्पादन योग्य के रूप में चिह्नित करें:

chmod +x touchpadenable.sh

फिर से वही काम करें, लेकिन फ़ाइल को touchpaddisable.sh(या जो भी) के रूप में नाम बदलें , और इसके बजाय

xinput enable 12

कमांड का उपयोग करें

xinput disable 12

सहेजें, निष्पादन योग्य के रूप में चिह्नित करें, और आपको डेस्कटॉप से ​​स्क्रिप्ट चलाने में सक्षम होना चाहिए। नोट: आपको स्क्रिप्ट्स पर राइट-क्लिक करना होगा, प्रॉपर्टीज़ पर क्लिक करना होगा और इसे निष्पादित करने की अनुमति देनी होगी।


हे उत्तर के लिए धन्यवाद! मैं कुछ इस तरह का उपयोग करेंगे! बस एक बात क्या आपको लगता है कि यह संभव होगा यदि मैं इसे 1 स्क्रिप्ट फ़ाइल पर बनाऊं ताकि मैं उसी शॉर्टकट का उपयोग कर सकूं?
री

@Thomas इस उत्तर को देखें: askubuntu.com/questions/597395/…
9

6

आपको नकारात्मक उत्तर की तरह करना होगा , पहले अपने टच डिवाइस की जांच करें, और कुछ इस तरह से दिखाएंगे :

~ $ xinput
⎡ वर्चुअल कोर पॉइंटर आईडी = 2 [मास्टर पॉइंटर (3)]
⎜ 4 वर्चुअल कोर XTEST पॉइंटर आईडी = 4 [दास पॉइंटर (2)]
Mouse Mouse PixArt डेल MS116 USB ऑप्टिकल माउस आईडी = 10 [दास सूचक (2)]
Id id SynPS / 2 सिनैप्टिक्स टचपैड आईडी = 14 [दास सूचक (2)]
B B DLLC6B2: 00 06CB: 75BF टचपैड आईडी = 12 [दास सूचक (2)]
2 वर्चुअल कोर कीबोर्ड आईडी = ३ [मास्टर कीबोर्ड (२)]
    Sl वर्चुअल कोर एक्सटेस्ट कीबोर्ड आईडी = ५ [स्लेव कीबोर्ड (३)]
    ↳ पावर बटन आईडी = 6 [दास कीबोर्ड (3)]
    ↳ वीडियो बस आईडी = 7 [दास कीबोर्ड (3)]
    ↳ पावर बटन आईडी = 8 [दास कीबोर्ड (3)]
    3 स्लीप बटन आईडी = ९ [स्लेव कीबोर्ड (३)]
    ↳ Integrated_Webcam_HD id = 11 [दास कीबोर्ड (3)]
    ↳ एटी ट्रांसलेटेड सेट 2 कीबोर्ड आईडी = १३ [स्लेव कीबोर्ड (३)]
    ↳ डेल WMI हॉटकी आईडी = 15 [दास कीबोर्ड (3)]
    Sl डेल वायरलेस हॉटकी आईडी = 16 [दास कीबोर्ड (3)]

मेरे मामले में आईडी = 12 के साथ डिवाइस है, अब आप "बिन" नामक फ़ोल्डर के तहत डेस्कटॉप फ़ोल्डर में "टॉगल-टच" नाम से एक बैश स्क्रिप्ट बनाएं, "~ / डेस्कटॉप / बिन" होगा और अगले कोड की प्रतिलिपि बनाएं, जांच करें डिवाइस चर मेरी स्पर्श आईडी = 12 को इंगित किया गया है, इसे अपने मामले के साथ ठीक करें:

#!/bin/bash

device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`

if [ $state == '1' ];then
  xinput --disable $device
else
  xinput --enable $device
fi

इस स्क्रिप्ट निष्पादन की अनुमति पर सेट करें:

chmod 775 /Desktop/bin/toggle-touch

अंत में आप इस पथ को अपने होम फ़ोल्डर से ".bashrc" में जोड़ सकते हैं, बस इस पंक्ति को फ़ाइल के अंत में जोड़ें:

PATH=$PATH:~/Desktop/bin

पथ को इसके साथ अपडेट करें:

. .bashrc

फिर आप इस स्क्रिप्ट को किसी भी स्थान से निष्पादित कर सकते हैं, मुझे उम्मीद है कि यह मदद करेगा।


1

मेरे उबुन्टु 18.04 में अल्मास ड्यूज़ल का उत्तर तब तक काम नहीं आया जब तक कि मैंने TouchPadउनके मामले की निम्न पंक्ति में 'p' को निम्न स्थिति में नहीं बदल दिया :

read TPdevice <<< $( xinput | sed -nre '/Touchpad/s/.*id=([0-9]*).*/\1/p' )

उसके बाद टचपैड स्क्रिप्ट द्वारा सफलतापूर्वक अक्षम और सक्षम हो गया लेकिन माउस और टचपैड सेटिंग स्क्रीन में यह प्रतिबिंबित नहीं हुआ । मैंने निम्नलिखित नई स्क्रिप्ट बनाई जो सेटिंग दृश्य को अपडेट करते समय टचपैड को टॉगल करती है।

#!/bin/bash

state=$( gsettings get org.gnome.desktop.peripherals.touchpad send-events )

if [ "$state" = "'enabled'" ];then
    gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled' \
        && notify-send -i touchpad-disabled-symbolic "Touchpad" "Disabled"
else
    gsettings set org.gnome.desktop.peripherals.touchpad send-events 'enabled' \
        && notify-send -i input-touchpad-symbolic "Touchpad" "Enabled"
fi

1

परीक्षण किया और Ubuntu 14.04, 16.04, और 18.04 पर काम करता है।

पसंद है @Almas Dusal का जवाब है, जो की तरह करता है @ negusp का जवाब मेरे संशोधित स्क्रिप्ट के बजाय, क्योंकि यह है, उपयोग को छोड़कर 3 अतिरिक्त लाभ ( : लाभ 1 और नीचे 3 से 12 सितम्बर 2019 को जोड़ा गया था अद्यतन ):

  1. यह के उत्पादन में खोज xinputदोनों के लिए Touchpadऔर TouchPad, के बाद से कुछ सिस्टम है पी पूंजीकृत जबकि अन्य को नहीं। यह मेरी स्क्रिप्ट को अधिक सिस्टम (उम्मीद है कि सभी सिस्टम) के साथ संगत बनाता है।
  2. यह zenityआपके टचपैड को अब ENABLED या DISABLED है या नहीं यह दिखाने के लिए 2-सेकंड के ऑटो-क्लोजिंग पॉपअप विंडो के माध्यम से जोड़ता है । नीचे इन पॉपअप विंडो के स्क्रीनशॉट देखें।
  3. यह आपके स्क्रॉल व्हील की गति को ठीक करता है, सक्षम imwheelकरता है (जो माउस स्क्रॉल व्हील का उपयोग करते समय उबंटू / लिनक्स में आपकी धीमी स्क्रॉल व्हील समस्या को ठीक करता है) जब आप माउस का उपयोग कर रहे होते हैं, imwheelटचपैड का उपयोग करते समय अक्षम करते हैं, क्योंकि imwheelअन्यथा टचपैड स्क्रॉलिंग वास्तव में गड़बड़ हो जाती है जब सक्षम किया गया। इस काम को करने के लिए संबंधित लाइनों को अनसुना करना सुनिश्चित करें। Ex: # imwheel -b "4 5"और # killall imwheel
#!/bin/bash

# GS_toggle_touchpad.sh
# - toggle the touchpad on and off

# Gabriel Staples
# Written: 2 Apr. 2018 
# Updated: 12 Sept. 2019 

# References:
# - /ubuntu//a/874865/327339
# - /ubuntu/844151/enable-disable-touchpad/1109515#1109515 <-- my own ans!

# Search for id number of "TouchPad" OR "Touchpad" in `xinput` list; manually type `xinput` to see all your devices
read TouchPadDeviceId <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' ) 

state=$( xinput list-props "$TouchPadDeviceId" | grep "Device Enabled" | grep -o "[01]$" )

echo "TouchPadDeviceId = $TouchPadDeviceId"
echo "state = $state"

if [ "$state" -eq '1' ];then
    xinput --disable "$TouchPadDeviceId"
    zenity --info --text "Touchpad DISABLED" --timeout=2
    # Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here: 
    # /ubuntu//a/991680/327339
    # imwheel -b "4 5"
else
    xinput --enable "$TouchPadDeviceId"
    zenity --info --text "Touchpad ENABLED" --timeout=2
    # Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here: 
    # /ubuntu//a/991680/327339
    # killall imwheel
fi

ध्यान दें कि imwheel चीज़ केवल तभी आवश्यक है जब आप अपनी स्क्रॉल व्हील गति को ठीक करने के लिए इस उत्तर का अनुसरण कर रहे हों: Chrome स्क्रॉल गति को स्थायी रूप से ठीक करें

अब, इसे Ctrl+ Alt+ P(या जो भी आप [P 'का चयन करते हैं , उसके शॉर्टकट शॉर्टकट को मेरे मामले में touch'P'ad के लिए खड़ा करें) पर असाइन करें। ऊपर की स्क्रिप्ट में मेरा जोड़ zenityस्व-समापन पॉपअप विंडो भाग है, जिसका वर्णन मैं यहाँ अपने उत्तर में अधिक करता हूं ( /superuser//a/1310142/425838 )।

अब, जब मैं ऊपर दिए गए शॉर्टकट का उपयोग करता हूं, तो मुझे यह पॉपअप विंडो दिखाई देती है, जो 2 सेकंड के बाद स्वतः बंद हो जाती है:

यहाँ छवि विवरण दर्ज करें

और अगर मैं इसे फिर से दबाता हूं तो मुझे यह पॉपअप विंडो मिलती है, जो 2 सेकंड के बाद ऑटो बंद हो जाती है:

यहाँ छवि विवरण दर्ज करें

उत्तम!

एक अतिरिक्त बोनस के रूप में, यदि आप एक भारी माउस उपयोगकर्ता हैं, तो बस वह कमांड जोड़ें, जो उबंटू में आपके स्टार्टअप प्रोग्राम के ऊपर आपकी स्क्रिप्ट को कॉल करता है, इसलिए यह आपके कंप्यूटर के चालू होने पर हर बार आपके ट्रैक पैड को चलाता और निष्क्रिय करता है! मेरे पास यह सेट है, इसलिए मैं अपने हाथ के आधार के साथ ट्रैक पैड को उछाल सकता हूं और हर समय गलती से सामान हटा सकता हूं! अब, जब मेरा हाथ ट्रैक पैड से टकराता है, तो कुछ भी नहीं होता है क्योंकि यह अक्षम है। :)

नोट: यह सभी Ubuntu 18.04 के साथ-साथ पुराने संस्करणों में बहुत अच्छा काम करता है। मैंने इसे Ubuntu 18.04 और Ubuntu 14.04 में परीक्षण किया है। यहां 18.04 में शॉर्टकट सेटिंग्स विंडो से एक स्क्रीनशॉट है:

यहाँ छवि विवरण दर्ज करें

सम्बंधित:

  1. UDPATE: यहां इस स्क्रिप्ट का नवीनतम संस्करण प्राप्त करें! https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/toggle_touchpad.sh
  2. क्रोम स्क्रॉल गति को स्थायी रूप से ठीक करें

मेरी एचपी प्रोबुक पर फिर से लागू नहीं होता है। Xinput में 2 आइटम हैं, SynPS/2 Synaptics TouchPadऔर SYNA306A:00 06CB:CD0B Touchpad। पहला निष्पादन एक को निष्क्रिय करता है, दूसरा दूसरे को निष्क्रिय करता है। वहां से यह दूसरे को टॉगल करेगा, लेकिन पहले कभी नहीं।
रोटा

0

मेरी लिपि को यहीं छोड़कर (ऊपर भी कमोबेश वही)। बॉक्स से बाहर काम करता है, डिवाइस आईडी से पहले देखने की कोई जरूरत नहीं है।

#!/bin/bash

function query_device_id {
    xinput list | grep -i touchpad | sed 's/.*id=\([0-9]*\).*/\1/g'
}

let device_id=$(query_device_id)

let state=$(xinput list-props $device_id | grep Enabled | awk '{print $4;}')

let new_state=$((1 - $state))

xinput set-prop $device_id "Device Enabled" $new_state

0

एक शेल स्क्रिप्ट बनाएं और उसमें नीचे दिए गए कोड को पेस्ट करें और इसे टचपैड का नाम दें

#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput disable $temp

एक और शेल स्क्रिप्ट बनाएं और उसमें नीचे दिए गए कोड को पेस्ट करें और इसे टचपैड का नाम दें

#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput enable $temp

पहली स्क्रिप्ट टचपैड को निष्क्रिय कर देगी और दूसरा टचपैड को सक्षम करेगी।

आप कीबोर्ड में कस्टम शॉर्टकट में इस स्क्रिप्ट को जोड़ सकते हैं।


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