/ / विंडोज 7 टच स्क्रीन + जावा स्विंग = विलंबित माउस इवेंट - जावा, स्विंग, विंडोज -7, टच

विंडोज 7 टच स्क्रीन + जावा स्विंग = विलंबित माउस घटनाक्रम - जावा, स्विंग, विंडोज -7, स्पर्श करें

मैं जावा में एक स्विंग एप्लिकेशन विकसित कर रहा हूं। कार्यक्रम समर्पित विंडोज 7 टच स्क्रीन मशीनों पर चलाया जाना है, और जहां तक ​​मुझे पता है, यह कार्यक्रम सामान्य ऑपरेशन के तहत उन पर चलने वाली एकमात्र चीज होनी चाहिए।

मैंने देखा है कि विंडोज 7 की टच स्क्रीनइंटरफ़ेस में यह बात है कि यह मूसडाउन इवेंट्स को वापस आयोजित करेगा। "टैप-एंड-होल्ड राइट क्लिक" जेस्चर के कारण, विंडोज 7 जीता "टी वास्तव में एप्लिकेशन को एक माउस डाउन ईवेंट तक नहीं भेज सकता:

  • उपयोगकर्ता "टच अप" (एक स्पर्श से अपनी उंगली बढ़ाएं, जिस बिंदु पर नीचे और ऊपर दोनों को भेजा जाता है)
  • उनकी उंगली चलती है (जिस बिंदु पर क्लिक एक ड्रैग बन जाती है)
  • या राइट क्लिक सर्कल जेस्चर टाइम आउट (लगभग 5-6 सेकंड के बाद)

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

विकास के इस बिंदु पर यह है दूर अन्य प्रश्नों पर दिए गए कई स्पर्श पुस्तकालयों में से एक के साथ घूमने और खरोंच से शुरू करने में बहुत देर हो गई। (उन्हें पूरे आवेदन को पुनः प्राप्त करने की आवश्यकता है जो अपने घटक पदानुक्रम, और वह बस "संभव नहीं है। प्लस माउस घटनाओं का उपयोग करने के लिए कोडित चीजों को फिर स्पर्श घटनाओं का उपयोग करके पुन: कोडित करना होगा, और हमें वास्तव में बहु-स्पर्श की आवश्यकता नहीं है ...

हां, मैंने बस करने का प्रयास किया है बंद करें टच-एंड-होल्ड राइट जेस्चर पर क्लिक करें। दुर्भाग्य से, ऐसा करने से आपकी उंगली के चारों ओर एक राइट क्लिक जेस्चर और बाद में राइट क्लिक की आग का संकेत मिलता है। यह अंतर्निहित समस्या को दूर नहीं करता है: अप करने के लिए विलंबित माउस डाउन ईवेंट छह सेकंड.

मेरा प्रश्न: क्या कोई तरीका है:

  • आदर्श रूप से, विंडोज को इंगित करें कि मेरा आवेदनस्पर्श-तैयार अनुप्रयोग है, इसलिए यह तुरंत घटनाओं को भेजता है (लेकिन, मुझे लगता है, अभी भी स्पर्श घटनाओं के बजाय माउस घटनाओं को भेजते हैं)? मैं देख सकता हूं कि बिल्ट-इन सॉफ्ट कीबोर्ड सही तरीके से काम करता है, ऐसा लगता है। मैं बस यही चाहता हूं कि मेरा जावा एप्लिकेशन ऐसा ही करे।
  • कंप्यूटर पर पूरी तरह से देरी को अक्षम करें, लेकिन फिर भी बुनियादी स्पर्श कार्यक्षमता प्रदान करें?
  • संभावित रूप से सरल रूप में कुछ यह सवाल, जो उसी घटना के बारे में पूछ रहा है, लेकिन जावा में?

उत्तर:

उत्तर № 1 के लिए 1

आमतौर पर इस प्रकार के व्यवहार को नियंत्रित किया जाता हैडिवाइस पर स्थापित टच डिवाइस ड्राइवर। मेरे द्वारा देखे गए सभी टच निर्माताओं में नियंत्रण पैनल ऐप हैं जो आपको स्पर्श व्यवहार को अनुकूलित करने की अनुमति देते हैं। उदाहरण के लिए, आप ड्राइवर को एक इनपुट घटना आरंभ करने से रोकने के लिए संक्षेप में देरी करने के बजाय एक माउस क्लिक भेजने के लिए कह सकते हैं।