2012-04-06 11 views
6

क्या एंड्रॉइड (ics) में प्लग किए गए यूएसबी माउस का दायां क्लिक हमेशा 'बैक' बटन के रूप में नामित होता है? मेरे पास एक टैबलेट है जहां यह नहीं है।एंड्रॉइड यूएसबी माउस सही व्यवहार पर क्लिक करें (आईसीएस)

मैं स्टेटस बार को हटाना चाहता हूं, और फिर भी यूएसबी माउस के साथ टैबलेट का उपयोग करने में सक्षम हूं।

क्या किसी को पता है कि एंड्रॉइड में व्यवहार को कॉन्फ़िगर कैसे करें/कैसे करें?

+0

कृपया टैबलेट का मॉडल/बनाएं निर्दिष्ट करें। –

+0

यह चीन में कारखाने से सीधे कोई नाम ब्रांड नहीं था। ऐसा लगता है कि उन्होंने गलती की, और उस समय, मुझे नहीं पता था कि मानक व्यवहार क्या था। चूंकि उन्होंने इसे बल्ले से ठीक गलती के रूप में स्वीकार नहीं किया था। धन्यवाद टर्बो। –

उत्तर

9

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

डिफ़ॉल्ट व्यवहार: एंड्रॉइड इसे किसी भी अपवाद के बिना बैक बटन के रूप में मानता है।

यह फ़ोन और सामान्य ऐप्स के लिए एक बहुत अच्छी सुविधा है। हालांकि, दो प्रकार के लोग इस सुविधा को अलग-अलग लागू करना चाहते हैं। मोडर, और ऐप डेवलपर्स।

modders 'फिक्स: एक निहित डिवाइस (और खुला एडीबी के साथ काफी कुछ दलित उपकरणों के लिए संभावित unrooted) पर, /system/usr/keylayout तहत Generic.kl निरीक्षण। ध्वज के लिए खोजें KEY_BACK, इससे जुड़ी कई लाइनों पर एकाधिक कीकोड हो सकते हैं। मेरे लिए key 158WAKE_DROPPED ध्वज के साथ था। एक सामान्य "राइट-क्लिक" फ़ंक्शन के लिए आप बैक कुंजी और मेनू कुंजी के लिए नंबर कोड स्वैप करना चाहते हैं, इसलिए जब माउस बैक-कुंजी कमांड भेजता है तो सिस्टम वास्तव में मेनू कुंजी कमांड को आग लगाएगा, जबकि कुछ बनाए रखेगा वापस जाने के लिए डिवाइस पर हार्डवेयर कुंजी (लेबल कुंजी मेनू)। हां, यह आपके फोन पर हार्डवेयर कुंजी को उलट देगा, लेकिन पूरे रोम का पुनर्निर्माण किए बिना यह सबसे आसान समाधान है। यदि यह कॉर्पोरेट या पेशेवर कारण के लिए है, तो शायद यह आलेख देखें: Overriding Mouse Events Kernel-Level। मैं वास्तव में एक एक्सपोज़ड मॉड्यूल बनाने की अनुशंसा करता हूं जो संदर्भित प्रक्रिया को ओवरराइड करता है। अन्यथा, देखें कि कैसे कुंजीकोड रीमेप करें, क्षमा करें मुझे यहां एक सीधा-आगे लेख नहीं मिला।

ऐप-डेवलपर 'फिक्स: गैर रूट: अपने एप्लिकेशन में बैक कुंजी ओवरराइड करें और सत्य लौटें। अपने onBackPressed() ओवरराइड में, आवश्यक राइट-क्लिक फ़ंक्शन निष्पादित करें। सरल! चूंकि आप पीसी की तरह संदर्भ मेनू कार्यक्षमता की अधिक संभावना रखते हैं, तो आपको event.getRawX() और रॉय() कॉल के साथ मूल दृश्य पर लागू मोशनवेवेंट श्रोता के माध्यम से माउस को कहां ट्रैक करना होगा, वैश्विक स्तर पर मूल्य संग्रहीत करना चर। इसके बाद आप शीर्ष और बाएं मार्जिन सेट करके कर्सर के नीचे अपना संदर्भ मेनू (आकार सूची सूची या वर्टिकललाइनरआउट) रख सकते हैं और इसे दृश्यमान सेट कर सकते हैं। यदि आप राइट-क्लिक के माध्यम से अपने लेआउट में एक अवरुद्ध ऑब्जेक्ट पर द्वितीयक फ़ंक्शन करना चाहते हैं, जैसे कि डिलीट या कॉपी, तो आपको मैन्युअल रूप से यह पता लगाना होगा कि संग्रहीत माउस निर्देशांक किस ऑब्जेक्ट पर हो रहे हैं। आपको शायद प्रत्येक प्रभावित ऑब्जेक्ट पर MotionEvent.ACTION_HOVER_ENTER श्रोताओं को जोड़ना होगा और ऑब्जेक्ट आईडी को ग्लोबल वैरिएबल में स्टोर करना होगा जब ऑनबैकप्रेस() फ़ंक्शन कहा जाता है। (जब मेरे पास समय होता है तो मैं कोड प्रदान करूंगा!)

आशा है कि इससे किसी ऐसे विशिष्ट विषय की खोज करने में मदद मिलेगी! :)

+0

आप अपनी गतिविधि कक्षा में 'बूलियन ऑनकेडाउन (इंट कीकोड, फाइनल कीइवेंट इवेंट)' और 'ऑनकेप' को ओवरराइड भी कर सकते हैं, और 'if (keyCode == KeyEvent.KEYCODE_BACK && event.GetSource() == इनपुटडिवाइस SOURCE_MOUSE) को चेक कर सकते हैं। ..'यूएसबी माउस द्वारा उत्पन्न की गई कुंजीपेशियों को फ़िल्टर करने के लिए, लेकिन सामान्य रूप से अपने फोन को संसाधित करने के लिए। – pelya

+0

यह इसके बारे में जाने का एक और अधिक विशिष्ट तरीका है। साझा करने के लिए धन्यवाद! –

संबंधित मुद्दे