थिंकपैड पर ट्रैकपॉइंट का उपयोग करते समय टचपैड को अक्षम कैसे करें?


21

थिंकपैड (उदाहरण के लिए X230 जो मैं उपयोग कर रहा हूं) में ट्रैकपॉइंट और टचपैड दोनों हैं। टाइप करते समय टचपैड अक्षम है।

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

EDIT: यह भी बता सकता है कि टाइपिंग कार्य करते समय टचपैड को अक्षम करने का विकल्प कोई बता सकता है? पर्दे के पीछे क्या किया जा रहा है? क्या यह एक xinput विन्यास कमांड है, और यदि हाँ, तो कौन सा?

EDIT2: स्पष्टीकरण; टचपैड को मैन्युअल रूप से अक्षम करना (यहां तक ​​कि शॉर्टकट के साथ) यहां मुद्दा नहीं है। यह "टाइप करते समय टचपैड को अक्षम करें" विकल्प के समान ही काम करना चाहिए, क्योंकि मैं टचपैड और ट्रैकपॉइंट को परस्पर विनिमय का उपयोग करता हूं (सबसे अक्सर, मैं कर्सर को स्थानांतरित करने के लिए स्क्रॉलिंग और ट्रैकपॉइंट के लिए टचपैड का उपयोग करता हूं)।


यह दिलचस्प होगा। जिस तरह से कीबोर्ड बिछाया जाता है वह उचित संचालन में हस्तक्षेप करने वाले आवारा इशारों में योगदान देता है। मुझे नहीं लगता कि यह वर्तमान विकल्पों के साथ संभव है, लेकिन शायद भविष्य में? मुझे लगता है कि ट्रैकपैड को ब्रश / कुतरने से बचने के लिए मुझे अपने हाथों को टाइप करने और पॉइंट करने के लिए दो हाथ का उपयोग करना होगा।
fleamour

फिलहाल, मेरे पास टचपैड के साथ माउस क्लिक अक्षम हैं - मुझे लगता है कि ज्यादातर मामलों में, मैं टच पैड वैसे भी सबसे ऊपर बटन का उपयोग करता हूं।
जनवरी

जवाबों:


10

टचपैड को अक्षम करना जब कीबोर्ड उपयोग में है

यह फ़ंक्शन पैकेज syndaemonसे, उपयोगिता द्वारा किया जाता है xserver-xorg-input-synaptics। आप निष्क्रिय समय, मतदान आवृत्ति आदि जैसे विकल्प सेट कर सकते हैं ( रनटाइम सहायता देखें ):

उपयोग: सिंडैमन [आइ-आइडल-टाइम] [-एम पोल-देरी] [-d] [-t] [-k]
  -ई से पहले अंतिम कुंजी प्रेस के बाद इंतजार करने के लिए कितने सेकंड
     टचपैड को सक्षम करना। (डिफ़ॉल्ट 2.0 है)
  अगले चुनाव तक इंतजार करने के लिए कितने मिली सेकंड।
     (डिफ़ॉल्ट 200ms है)
  ...
  -t केवल दोहन और स्क्रॉलिंग को अक्षम करें, न कि माउस आंदोलनों को।

यहाँ के लिए स्रोत कोड है syndaemon.c

  • महत्वपूर्ण कार्य हैं keyboard_activity(...)औरmain_loop(...)
  • keyboard_activityकीबोर्ड की वर्तमान स्थिति (प्रति कुंजी 1 बिट) प्राप्त करने के लिए XQueryKeyMap एपीआई कॉल का उपयोग करता है , और फिर तुलना अंतिम (पुरानी) स्थिति में होती है; यदि वे अलग हैं, तो यह 1 रिटर्न देता है
  • main_loopkeyboard_activityप्रत्येक mमिलीसेकंड का चुनाव करता है , और "अंतिम गतिविधि के समय" के आधार पर और क्या keyboard_activityसही या गलत रिटर्न देता है, यह तय करता है कि टचपैड को अक्षम या सक्षम करना है या नहीं।
  • dp_get_deviceसमारोह दर्शाता है कि एक्स इनपुट डिवाइस enumerated हैं; आप इसे और keyboard_activityकिसी भी ट्रैकपॉइंट गतिविधि की जांच करने के लिए फ़ंक्शन को संशोधित करने में सक्षम होना चाहिए ।

  • xinputउपकरण सूचियों उपकरणों और आईडी, उदाहरण के लिए "

    वर्चुअल कोर पॉइंटर आईडी = 2 [मास्टर पॉइंटर (3)]
    ⎜ 4 वर्चुअल कोर XTEST पॉइंटर आईडी = 4 [दास पॉइंटर (2)]
    Id id SynPS / 2 सिनैप्टिक्स टचपैड आईडी = 11 [दास सूचक (2)]
    12 12 TPPS / 2 IBM TrackPoint id = 12 [दास सूचक (2)]

  • आप इसे (ID) XListInputDevices फ़ंक्शन के माध्यम से प्राप्त कर सकते हैं

  • उसके बाद, आपको XOpenDevice का उपयोग करके आईडी से एक डिवाइस हैंडल प्राप्त करना होगा
  • फिर, आप ट्रैकप्वाइंट पॉइंटर के निर्देशांक प्राप्त करने के लिए XQueryDeviceState फ़ंक्शन का उपयोग करते हैं ; मौजूदा लूप के समान, आप इसे इतनी बार परागित करते हैं और जांचते हैं कि क्या निर्देशांक बदल गए हैं (यानी ट्रैकप्वाइंट उपयोग में है), और टचपैड को चालू या बंद करने के लिए इसका उपयोग करें
  • उदाहरण के लिए, यदि आपकी प्रोग्रामिंग सही है, तो आप स्विच और डिवाइस आईडी के xinputसाथ उपयोगिता का उपयोग कर सकते हैं query-state:

    $ xinput क्वेरी-राज्य 12
    2 कक्षाएं:
    ButtonClass
    बटन [1] ऊपर =
    बटन [2] अप =
    बटन [3] अप =
    बटन [4] अप =
    बटन [5] अप =
    बटन [6] ऊपर =
    बटन [7] अप =
    ValuatorClass मोड = सापेक्ष निकटता = में
    मूल्यांकनकर्ता [0] = 854
    मूल्यांकनकर्ता [1] = 867
    
  • आप वैल्यूएटर मानों में रुचि रखते हैं, जो ट्रैकप्वाइंट के एक्स और वाई निर्देशांक हैं
  • xinputअधिक सुझावों के लिए स्रोत देखें
  • इस पैकेज को संशोधित और पुनर्निर्माण करने के लिए:

    1. स्रोत के साथ जाओ apt-get source...
    2. अपने संशोधन करें tools/syndaemon.c
    3. syndaemonमें 118...और 124...लाइनों के बाहर टिप्पणी करके मौजूदा पैच को अक्षम करेंdebian/patches/series
    4. अपने संशोधित पैकेज का निर्माण करें dpkg-buildpackage -us -ucऔर डिबेट फाइलें मूल निर्देशिका में होंगी।

1
चूंकि बाउंटी तीन दिनों में समाप्त हो जाएगी, मेरे पास आपके साथ एक सौदा होगा (जब तक कि एक बेहतर जवाब नहीं दिखता): मैं आपको इनाम सौंप दूंगा यदि आप मुझे xinput पहचानकर्ता द्वारा डिवाइस को क्वेरी करने के लिए एपीआई को इंगित करेंगे। संशोधित स्रोतों से डिबेट पैकेज बनाने का वर्णन करने वाले पृष्ठ का लिंक दें। तब मैं इस दृष्टिकोण को लागू कर सकूंगा। क्या वह ठीक होगा?
जनवरी

क्षमा करें, मैं दूर हो गया हूं। यह ठीक लगता है, मैं कुछ ही घंटों में जानकारी खोजने और उत्तर को संपादित करने का प्रयास करूँगा।
ish

कोई चिंता नहीं! यह ठीक है
9

1
जैसा कि वादा किया गया था, आप सर इनाम पाएं। हालांकि, मुझे जवाब स्वीकार नहीं है, क्योंकि मुझे समाधान को पहले कोड करने की आवश्यकता है।
जनवरी

1
@ जानू, अगर आपने अभी तक अपने समाधान को प्रबंधित करने का प्रबंधन नहीं किया है तो निश्चित नहीं है? मैंने ट्रैकपॉइंट की निगरानी का समर्थन करने के लिए सिंडिकेट को पैच किया है। github.com/eyko/xf86-input-synaptics (यहाँ कमेंट करें github.com/eyko/xf86-input-synaptics/commit/… ) TrackPoint की निगरानी करने के लिए, आपको सिंडिकेट को चलाते समय -T विकल्प ध्वज को पास करने की आवश्यकता होती है।
विंस

4

पहली बात यह है कि अपने टच पैड आईडी को जानें। ऐसा करने के लिए इन चरणों का पालन करें

सबसे पहले टर्मिनल खोलें और इस कमांड को रन करें

~$ xinput --list

यहाँ हमें यह मिलता है Touchpad id = <id Number>

उसके बाद कीबोर्ड शॉर्टकट खोलें इसके बाद अपने कीबोर्ड शॉर्टकट के साथ नीचे दो कमांड जोड़ें।

# Disable Touchpad:
xinput set-prop <id number> 'Device Enabled' 0

# Enable Touchpad:
xinput set-prop <id number> 'Device Enabled' 1

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


धन्यवाद, लेकिन टचपैड को मैन्युअल रूप से अक्षम करना यहां मुद्दा नहीं है (यहां तक ​​कि एक शॉर्टकट के साथ), और मुझे पता है कि यह कैसे करना है। ट्रैकपॉइंट का उपयोग करते समय टचपैड को स्वचालित रूप से अक्षम करने का विचार है , इसी तरह से कीबोर्ड का उपयोग किए जाने पर टचपैड स्वचालित रूप से अक्षम हो जाता है ("माउस और टचपैड" सेटिंग में "टाइपिंग टचपैड को अक्षम करते हुए" सेटिंग देखें)।
जनवरी

0

यहां एक कम-तकनीकी समाधान है जो बिजली के उपयोग के लिए खराब हो सकता है (सिंडोमैन-टी पैच मेरे लिए काम नहीं करता था)।

#!/bin/sh

TRACKPOINT_DEV="TPPS/2 IBM TrackPoint"
SLEEP_TIME=5

OLD_XY=0,0,
while true; do
  NEW_XY=`xinput query-state "$TRACKPOINT_DEV" |grep valu|awk 'BEGIN { FS = "=" } ; {print $2 ","}'|xargs`
    if [ ! "$OLD_XY" = "$NEW_XY" ]; then
      synclient TouchpadOff=1
    else
      synclient TouchpadOff=0
    fi
    sleep $SLEEP_TIME
    OLD_XY="$NEW_XY"
done

यह देखने के लिए थोड़ा भाग्यशाली होना चाहिए कि आप ट्रैकपॉइंट का उपयोग कर रहे हैं, क्योंकि यह केवल प्रत्येक 5s के अंतराल के दौरान निर्देशांक बता सकता है। दूसरे शब्दों में, यह टचपैड को अक्षम करने के बारे में रूढ़िवादी है, लेकिन ट्रैकपॉइंट के निष्क्रिय होने पर इसे मज़बूती से फिर से सक्षम नहीं करना चाहिए।

वैसे भी, यह मेरी अल्ट्राबुक पर पाम प्रेस से भटकते कर्सर के साथ मुझे बहुत मदद करता है।

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