टचस्क्रीन का उपयोग करते समय माउस कर्सर को गतिशील रूप से छुपाना


21

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

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

मुझे लगता है मैं सबसे यथोचित इस तरह कुछ कर रही कर सकते हैं आंकड़ा इस , वर्तमान इनपुट तंत्र का ट्रैक रखने और क्रियान्वित करने xinput -cursor [transparent cursor]के लिए जब भी टचस्क्रीन प्रयोग किया जाता है और xinput -cursor [normal cursor]जब भी एक सामान्य माउस प्रयोग किया जाता है।

हालांकि मैंने xinput को देखा और ऐसा लग रहा है कि हार्डवेयर माउस और टचस्क्रीन दोनों को एक ही पॉइंटर पर स्लैव किया गया है, दोनों ही xev में समान घटनाओं को पंजीकृत करते हैं, इसलिए मुझे वास्तव में यकीन नहीं है कि मुझे एक स्पर्श को अलग करने के लिए आवश्यक जानकारी कहां मिलेगी। मूसलीक से। क्या यह संभव है?

जवाबों:


5

आप उपयोग कर सकते हैं

उपयोग करने के लिए, इसे स्थापित करें

sudo apt-get install unclutter

फिर इसे चलाएं

unclutter -idle 0.01 -root

ध्यान दें कि निष्क्रिय होने के बाद की संख्या का अर्थ है इससे पहले कि वह छिपता है। इस मामले में इसका सेट एक सेकंड का 1/100 है। आप इसे एक मूल्य में बदलने की कोशिश कर सकते हैं कि यह हमेशा छिपा रहेगा।

जब आप इसे स्थानांतरित नहीं करेंगे तो यह कर्सर को छिपा देगा। मुझे यकीन है कि इसे पूरी तरह से छिपाने का एक विकल्प भी है।


मैंने अशुद्धियों का उपयोग करके समाधान देखा है, लेकिन यह एक टचस्क्रीन और माउस का उपयोग करने के बीच अंतर नहीं करता है।
erp

2

मुझे लगता है कि जब आपके पास माउस नहीं होता है, तो आप टचस्क्रीन का उपयोग करते हैं और सिस्टम में एक प्लग लगाते हैं जब आप इसका उपयोग करना चाहते हैं। इस स्थिति में, आप udevअपने सूचक को तदनुसार प्रबंधित करने के लिए नियमों का उपयोग कर सकते हैं :

ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/usr/bin/xinput -cursor [transparent cursor]", RUN+="/usr/bin/xinput -cursor [normal cursor]"

एक माउस को भेद करने के लिए उपयोग की जाने वाली शर्तों को इस उत्तर से उधार लिया जाता है ।

ध्यान रखें कि अलग-अलग एप्लिकेशन गतिशील रूप से कर्सर को फिर से परिभाषित करने के लिए स्वतंत्र हैं, इसलिए जब आप उनकी खिड़कियां घुमाते हैं तो आपका कर्सर फिर से दिखाई दे सकता है। आप शुरू कर सकते हैं / रोक सकते हैं unclutterयदि आप चाहते हैं कि सभी कर्सर हर जगह छिपे हों:

ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c unclutter&", RUN+="/usr/bin/killall unclutter"

व्यक्तिगत रूप से मैं माउस को प्लग करते समय टचस्क्रीन को पूरी तरह से अक्षम कर देता हूं, ताकि गलती से छूने पर यह कर्सर को परेशान न करे जब आप माउस का पालन करने की अपेक्षा करते हैं।


यह एक अच्छा विकल्प है सिवाय इसके कि मैं अपने ट्रैकपैड के लिए यही व्यवहार चाहता हूं, न कि केवल प्लग-इन चूहों के लिए। मेरा मानना ​​है कि udev केवल उन उपकरणों को प्रभावित करता है जो गतिशील रूप से जोड़े / हटाए जाते हैं?
erp

आपका मतलब है कि आपका ट्रैकपैड आपका "हार्डवेयर माउस" है? मैं कहता हूँ कि आपको यह देखने की कोशिश करनी होगी कि क्या यह काम करता है। टचपैड को वास्तव udevमें हटाए जाने के रूप में देखा जा सकता है जब आप इसे Fn बटन का उपयोग करके अक्षम करते हैं (यह मानते हुए कि आपके पास एक है)।
दिमित्री ग्रिगोरीव

1

Nowrep द्वारा उपलब्ध अशुद्धियों को ठीक करने वाले उपकरण का एक कांटा यहाँ उपलब्ध है-touchजब भी टच इनपुट का पता चलता है तो यह संस्करण कर्सर को अपने आप छिपाने का विकल्प जोड़ता है। (मूल असत्य-xfixes रिपॉजिटरी यहाँ है )

एक बात का ध्यान रखें कि इसमें अभी भी एक निर्दिष्ट समयावधि के बाद कर्सर को छिपाने का व्यवहार शामिल है। आप बस उसी के --timeoutआसपास काम करने के लिए एक बहुत ही उच्च मूल्य के लिए विकल्प सेट कर सकते हैं ।

यह आपके लिए पूरी तरह से काम करना चाहिए। मेरे मामले में मेरे पास एक बाहरी संलग्न टचस्क्रीन था और जब मैं नियमित मॉनिटर पर वापस जाता हूं तो कर्सर टचस्क्रीन पर होगा, इसलिए मुझे इसे मॉनिटर पर वापस ले जाना होगा जहां से मैंने स्पर्श किया था। अच्छी बात यह है कि जब मैं माउस को घुमाना शुरू करूँगा तो कर्सर ऊपर दिखाई देगा इसलिए मुझे पता है कि यह कहाँ पर है।

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

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