2012-03-21 10 views
69

मैं वास्तव में जानना चाहता हूं कि यह एक हार्डवेयर समस्या है, या एक सॉफ्टवेयर समस्या है। क्या मैं अपने एंड्रॉइड फोन को यूएसबी के माध्यम से कंप्यूटर में प्लग कर सकता हूं और इसे हार्डवेयर कीबोर्ड के रूप में कार्य कर सकता हूं। मैं कंप्यूटर पर कुछ भी इंस्टॉल नहीं करना चाहता, मैं चाहता हूं कि एंड्रॉइड मानक हार्डवेयर की तरह व्यवहार करे।क्या एंड्रॉइड प्रोग्राम को भौतिक यूएसबी कीबोर्ड के रूप में कार्य करना संभव है?


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

+0

[लिनक्स कर्नेल में यह कार्यक्षमता शामिल है] (http://lxr.free-electrons.com/source/Documentation/usb/gadget_hid.txt), लेकिन मुझे नहीं पता कि छुपा गैजेट समर्थन की स्थिति कैसा है एंड्रॉइड कर्नल। –

+3

क्या आप सफल हैं? क्या आपका ऐप प्ले स्टोर में उपलब्ध है? –

उत्तर

34

मैंने एमटीपी/एडीबी/अन्य यूएसबी कार्यक्षमता खोए बिना मानक एचआईडी कीबोर्ड और माउस की तरह कार्य करने के लिए नेक्सस 7 पर कर्नेल को संशोधित किया है।

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

कर्नेल पैच, बाइनरी और निर्देश: https://github.com/pelya/android-keyboard-gadget

संपादित करें: I've published a proper app to Google Play, यदि आपका नेक्सस 7 निहित है आप सीधे ऐप्लिकेशन से गिरी फ़्लैश कर सकते हैं, और इसके साथ keypresses भेजें।

+0

क्या यह आईओएस के साथ संभव है? –

+3

बहुत संभावना नहीं, जैसा कि आप के भागने और अपने खुद के पैच के साथ कस्टम XNU कर्नेल स्थापित करना होगा - मेरी पैच काम नहीं करेगा, के रूप में यह लिनक्स कर्नेल नहीं है। व्यावहारिक रूप से ट्विक करने और संभवतः अपने आईपैड को ईंट करने के बजाए दूसरी ओर नेक्सस 4/5/7 खरीदने के लिए बहुत सस्ता है। – pelya

+0

मैं xnu कर्नेल और अपने पैच बनाने के तरीके के बारे में और कहां से जान सकता हूं? मैं इसके साथ बहुत परिचित नहीं हूँ। मान लेते हैं IOS डिवाइस जेलब्रेक –

1

आपको उस एंड्रॉइड-ऑफ-द-बॉक्स को करने के लिए किसी प्रकार का कनेक्शन स्थापित करना है, जैसे टीसीपी/आईपी और एडीबी के माध्यम से, इसलिए कम से कम एडीबी और कंप्यूटर पर श्रोता स्थापित नहीं करना।

लेकिन यदि आपके पास ऐसी गतिविधि है जो हार्डवेयर कीबोर्ड को यूएसबी के माध्यम से डेटा भेजती है तो क्यों नहीं? मुझे लगता है कि आसान नहीं होगा। इस बिंदु पर usuas मंच जवाब तुरंत आता है: "क्यों आप अपनी योजना बदल नहीं है और ...." :)

+1

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

3

एक ही रास्ता मैं यह संभव किया जा रहा है देख सकते हैं अगर आप:

  • एंड्रॉयड फर्मवेयर संशोधित करते हैं कि कम पर्याप्त स्तर है कि आप आवश्यक प्रोटोकॉल

या

  • विशेष हार्डवेयर छुट्टी किसी प्रकार का बनाया का उपयोग कर कार्य कर सकता है पर usb स्तर तक पहुँच देने के लिए एल कनवर्टर जो आपने डिवाइस से जुड़ा हुआ है।

(तो मुझे लगता है, कितना काम आप करना चाहते हैं पर निर्भर करता है, यह एक हार्डवेयर या सॉफ्टवेयर समस्या हो सकती है।)

+0

क्या आप फर्मवेयर संशोधन विकल्प के बारे में कुछ और बता सकते हैं, उदाहरण के लिए, सीमाएं क्या हैं? इससे कौन सी समस्याएं पैदा होती हैं (क्या आप मौजूदा सॉफ़्टवेयर चला सकते हैं/फोन अपडेट कर सकते हैं)? मुझे इस तरह की चीज कैसे करें इस बारे में जानकारी मिल सकती है? चीयर्स। –

+0

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

+0

ब्लूटूथ के बारे में क्या? मेरा मतलब है कि एंड्रॉइड का उपयोग ब्लूटूथ कीबोर्ड के रूप में नहीं करना है, लेकिन शायद एक मौजूदा यूएसबी डिवाइस है जो ब्लूटूथ कीबोर्ड सिग्नल प्राप्त करता है, और इसे कंप्यूटर पर आवश्यक ड्राइवर के बिना कंप्यूटर पर रिले करता है ... मुझे लगता है कि मैं आशावादी हूं, लेकिन वह होगा मेरे लिए काम। –

11

अधिकांश USB कीबोर्ड को चलाने के लिए ड्राइवरों की जरूरत है। standard HID drivers की क्षमताओं से परे किसी भी कीबोर्ड कार्यक्षमता (गैर-मानक बटन) को कंप्यूटर पर कुछ सॉफ़्टवेयर इंस्टॉल करने की आवश्यकता होगी।

कहा जा रहा है कि, एंड्रॉइड के USB capabilities का उपयोग करना संभव हो सकता है, साथ ही यदि आपका लक्ष्य प्राप्त करने के लिए डिफ़ॉल्ट एचआईडी पर्याप्त नहीं है तो कस्टम ड्राइवर लिखना संभव हो सकता है। यह एक बहुत ही गैर-तुच्छ उपक्रम की संभावना है।

संपादित करें: मुझे लगता है कि क्रिस्टोफरमिसिंस्की सही है कि स्टॉक एंड्रॉइड यूएसबी एपीआई के साथ आपको नियंत्रण का स्तर इस उद्देश्य के लिए अपर्याप्त है। छिपाई मानकों का उपयोग करके संवाद करने के लिए फर्मवेयर को संशोधित करने के उनके दो समाधान, साथ ही एक हार्डवेयर मध्यस्थ जो एंड्रॉइड एक्सेसरी प्रोटोकॉल से छिपा हुआ अनुवाद करता है, दोनों मेरे लिए मान्य लगते हैं। यदि कंप्यूटर पर ड्राइवर स्थापित करना प्रश्न से बाहर है, तो यह केवल दो विकल्प हो सकते हैं।

हालांकि, यदि आप इस व्यवहार के लिए ड्राइवर स्थापित करने के लिए खुले हैं, तो एक कस्टम ड्राइवर लिखना संभव है जो एंड्रॉइड यूएसबी प्रोटोकॉल को संभाल सकता है और कीबोर्ड कार्यक्षमता के लिए सही कॉल/इंटरप्ट्स का सही ढंग से अनुवाद कर सकता है। यदि मेमोरी परोसा जाता है, तो पिछले 10 वर्षों में मैंने जो परिधीय कीबोर्ड इस्तेमाल किया है, उसे पूर्ण कार्यक्षमता के लिए ड्राइवर स्थापित करने की आवश्यकता है, इसलिए इसे गैर-मानक व्यवहार नहीं माना जा सकता है। (हालांकि ऐसा लगता है कि यह दृष्टिकोण केवल डिवाइस को बूट प्रक्रिया के दौरान नहीं, विंडोज़ के अंदर कीबोर्ड के रूप में काम करने की अनुमति देगा)

+0

मैंने आपको बक्षीस से सम्मानित किया, क्योंकि मुझे संदेह है कि आपका उत्तर समाधान का कारण बन सकता है, आपने यहां सबसे अधिक समाधान उन्मुख उत्तर प्रदान किया है, जो कुछ उपयोगी संसाधनों के साथ समस्या से निपटने का प्रयास करता है। धन्यवाद, ~) –

0

मेरे पास यहां कुछ अनुभव है।क्लाइंट/सर्वर मॉडल के माध्यम से टीसीपी/आईपी के माध्यम से सबसे स्पष्ट समाधान है। एयरकीबोर्ड (http://www.freenew.net/iPhone/air-keyboard-111/171415.htm) जैसे कई टूल एक स्मार्टफोन ओएस का उपयोग करके कीबोर्ड/माउस प्रतिस्थापन बनाने के लिए इस विधि का उपयोग करते हैं। ध्यान दें कि कुछ सुरक्षा मुद्दे हैं जो कार्यान्वयन में स्पष्ट हो जाते हैं। उदाहरण के लिए, आपको सर्वर componenents का उपयोग करने के लिए लॉग इन होना चाहिए।

अन्य क्रॉस प्लेटफ़ॉर्म टूल (यानी विंडोज़/मैक अन्य विंडो/मैक इंस्टेंस को नियंत्रित करने) एक समान दृष्टिकोण का उपयोग करते हैं। Synergy देखें: http://synergy-foss.org/

+0

आपकी प्रतिक्रिया के लिए धन्यवाद, लेकिन मैं वास्तव में केवल एक ऑन-फोन सॉफ्टवेयर की तलाश में था, कंप्यूटर पर स्थापित कोई सॉफ़्टवेयर नहीं था। –

2

कुछ अन्य लोगों ने यह पाया कि यह गलत है। इस बीच में मैं अपनी राय साझा करता हूं। मुझे माफ कर दो।

पुरानी गलत जवाब:

मेरी राय में यह मुश्किल से ही संभव है।

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

"सबसे आसान" तरीका संभावित रूप से एक μC के साथ एक यूएसबी होस्ट चिप युक्त एडाप्टर को इकट्ठा करेगा जो प्राप्त डेटा को परिवर्तित करता है (जिसे आपको अभी भी भेजना था यूएसबी) पीएस/2 या यूएसबी-क्लाइंट सिग्नल जो आप कंप्यूटर को भेजते हैं।

मेरी राय में सबसे आसान तरीका होगा: इन कीबोर्डों में से एक खरीदें जिन्हें आप रोल कर सकते हैं और उन्हें अपने बैग में भी डाल सकते हैं।

+0

क्या आप ऐसे संसाधन को इंगित कर सकते हैं जो एंड्रॉइड यूएसबी कनेक्शन की रॉम पहचान के बारे में आपके संदेह की पुष्टि करता है? –

+2

मैंने आपका जवाब चुना, जैसा कि यह सही दिखता है - हालांकि मैं एंड्रॉइड डिस्क्रिप्टर हार्डकोड होने की कुछ पुष्टि करना चाहता हूं। , ~ –

+2

गलत है। एंड्रॉइड पर अधिकांश यूएसबी डिवाइसेज सॉफ्टवेयर में लागू किए जाते हैं। – Darwin

2

मेरा मानना ​​है कि यदि आप हालिया एंड्रॉइड के साथ रूट डिवाइस हैं तो आप इसे कर सकते हैं। उदाहरण के लिए, एंड्रॉइड 4 चलाने वाले एसस ई पैड ट्रांसफार्मर में लाइब्रेरी /system/lib/libusb.so और /system/lib/libusbhost.so हैं, इसलिए आप जावा एप्लिकेशन लिख सकते हैं जो उन्हें यूएसबी कीबोर्ड का अनुकरण करने के लिए जेएनआई का उपयोग करके कॉल करता है। इसका मतलब है कि आपको कुछ गोंद सी कोड लिखना होगा जो यूएसबी कीबोर्ड एक पीसी के साथ संचार कर रहा है (= आपको यूएसबी प्रोटोकॉल के तरीके का अध्ययन करना चाहिए)।

मैं "रूट" कहता हूं, क्योंकि इन पुस्तकालयों का उपयोग करने के लिए आमतौर पर कुछ अनुमतियों की आवश्यकता होती है।

संपादित करें: एक यूएसबी होस्ट के रूप में कार्य करने के लिए एंड्रॉइड डिवाइस प्रोग्रामिंग करते समय उपरोक्त सत्य है, आपके मामले में आपको "गैजेट" होना चाहिए। मुझे नहीं पता कि आपके एंड्रॉइड डिवाइस के कर्नेल में लिनक्स गैजेट कार्यक्षमता कितनी है। इसी तरह के प्रश्न के लिए this देखें।

2

होस्ट में प्लग इन होने पर आपका एंड्रॉइड पहले ही वीआईडी ​​/ पीआईडी ​​के साथ पहचानता है। यह पहले से ही मास स्टोरेज के लिए एक इंटरफ़ेस है। 03:01 छुपा के लिए दूसरे इंटरफेस का समर्थन करने के लिए आपको कम स्तर पर ड्राइवर को हैक करना होगा। फिर यह संशोधित ड्राइवर को स्कैनकोड को धक्का देने का सवाल होगा। यह आसान नहीं होगा, लेकिन यह एक साफ हैक होगा। लॉगिन का उपयोग लॉग इन के लिए लंबे यादृच्छिक पासवर्ड टाइप करने के लिए होगा।

+0

मुझे उम्मीद है कि फोन को रूट करने की आवश्यकता होगी। क्या आप उम्मीद करते हैं कि कोई अन्य पूर्व-आवश्यकता होगी? –

+0

हां, आपको शायद रूट करना होगा। इंटरफ़ेस जिसे आप उपयोग करना चाहते हैं वह लिनक्स "गैजेट" एपीआई होगा। [लिंक] (http://www.linux-usb.org/gadget/) मैंने अभी सवाल पर ग्रेग की टिप्पणी देखी, यह जवाब है, यानी गैजेट। – Renate

+0

क्या आपने जवाब का जवाब पढ़ा था? क्या आप सहमत हैं? क्या आपके पास ऐसी कोई जानकारी है जो पुष्टि करता है या इनकार करता है कि रोम पर एनाड्रॉइड स्टोरेज इंटरफेस डिस्क्रिप्टर के कारण यह संभव नहीं है - और इसलिए प्रोग्राम करने योग्य नहीं है? –

2

हार न दें। लिनक्स "यूएसबी गैजेट्स के माध्यम से, सही हार्डवेयर के साथ कर सकता है।विपुल भंडारण डिवाइस एक जीएसएम मॉडेम "", एक "मीडिया प्लेयर", "या फ़ोटो मुद्रित करने के लिए

  • :"

    1. मेरा पुराना नोकिया N95 यह यूएसबी है एक होने के लिए इस्तेमाल कर सकते हैं और निम्न तथ्यों दे रही है "। मैं एक एप्पल यूएसबी कैमरा निष्क्रिय एडाप्टर के माध्यम से एक iPad में एक iPhone प्लग कर सकते हैं, और वे तस्वीरें हस्तांतरण।
    2. iPhone कर सकते हैं चीजों के एक नंबर, जैसे जब वे DFU में जाने के रूप में स्पष्ट वर्तमान।

    क्यों यह सब प्रासंगिक है?

    क्योंकि अगर मैं एक linux फोन लिख रहा था मैं जानता हूँ कि यह क्या करेंगे, और यह है कि यह कैसे करना होगा। और जवाब में यूएसबी गैजेट्स शामिल होंगे।

    लिंक है कि यहां तैनात किया गया था में से एक पढ़ना,

    यह लिनक्स कर्नेल है, कोड में ड्राइवरों/USB/गैजेट है/ kernel.org पेड़ में अगर आप रुचि रखते हैं। एंड्रॉयड में कुछ विशिष्ट गैजेट पैच कि मुख्य लाइन में नहीं हैं, करता है, लेकिन यह सब कि काफी नहीं है। आप इन सभी को अपने कर्नेल गिट पेड़ को देखकर देख सकते हैं, उनके डेवलपर्स को परेशान करने की कोई आवश्यकता नहीं है।

    मुझे लगता है कि होता है कि आप इसे एक शॉट के लिए होता है - लेकिन यह एंड्रॉयड कर्नेल/ऑपरेटिंग सिस्टम recompiling शामिल होगा - या कम से कम एक का निर्माण वातावरण में आप// पुनर्निर्माण सकता गिरी यदि आप चाहते थे हो रही है।

    Btw, मैं एक Atmel NGW100mkII, जो यूएसबी गैजेट का समर्थन किया है, लेकिन HID मॉड्यूल के साथ व्यापार नहीं करता है। और मुझे उपर्युक्त और अधिक करना होगा।

  • +0

    मैं हारने की कोशिश नहीं करूंगा - लेकिन यह एक बड़े उपक्रम की तरह लगता है अगर यह जाने-माने से पूरी तरह असंभव हो सकता है। आपने मुझे इस पोस्ट में/शोध के बारे में सोचने के लिए बहुत कुछ दिया है। धन्यवाद। –

    +0

    मैं सिर्फ jailbroken iPhone है, जो इसे कई चयन "आभासी डिस्क" के साथ एक USB विशाल संग्रहण डिवाइस में बदल जाता है और यूएसबी Devid बदलता है तो यह iTunes/फ़ोटो आयात शुरू नहीं करता है के लिए एक ऐप पाया। (आपको कोई मदद नहीं है, लेकिन यह आईफोन के लिए अद्भुत चीजें है)। मुझे अपने टेक्सास टीआई 84 + एसई कैलक्यूलेटर के लिए एक यूएसबी लाइब्रेरी भी मिली है जो आप चाहते थे जो करेगा (यह प्लेस्टेशन को भी अनलॉक करता है)। वैसे भी, मेरा सैमसंग गैलेक्सी नोट आज पहुंचा, इसलिए मेरे पास वास्तव में एक एंड्रॉइड डिवाइस होगा। – Orwellophile

    11

    ऐसा लगता है कि किसी को अंत में यह किया है, यह एक छोटा सा बदसूरत है - लेकिन यहाँ यह है:

    http://forum.xda-developers.com/showthread.php?t=1871281

    यह कुछ गिरी कंपाइल, और संपादन का एक सा शामिल है, और आप ढीला आंशिक कार्यक्षमता (एमडीसी?) .. लेकिन यह हो गया है।

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

    +0

    हाँ मैंने यूएसबी के साथ अन्य सभी कार्यक्षमताओं को खो दिया है और यह बिल्कुल सही है लेकिन यह वही करता है। मैं अभी भी वाईफाई पर एडीबी का उपयोग कर सकता हूं और एसडी कार्ड के माध्यम से फ़ाइलों को स्थानांतरित कर सकता हूं। अगर मैं किसी चरण में समय है मैं कोशिश करते हैं और मूल कार्यक्षमता को पुनर्स्थापित करने के लिए, idealy आप कीबोर्ड – Darc

    +0

    दुर्भाग्य से चयन करने की अनुमति यूएसबी मेनू में एक और विकल्प जोड़ने इसे परिष्कृत सकता है, यह एसओपी कि उपकरणों हमेशा कर्नेल जहाज के लिए लग रहे हो रहा है कि डॉन [गैजेट] मॉड्यूल की पूरी तारीफ का समर्थन नहीं करते हैं। चाहे वह एक किंडल, एंड्रॉइड, या यहां तक ​​कि एक मूल्यांकन बोर्ड हो। मैं एक टैबलेट पर बिटलॉकर उपयोग के लिए संयुक्त मास स्टोरेज/एचआईडी समाधान बनाने की कोशिश कर रहा हूं .. बहुत निराशाजनक। पीएस: तुमने अच्छा काम किया है। – Orwellophile

    +0

    मैं बाद की तारीख में बड़े पैमाने पर भंडारण जोड़ने में रूचि रखता हूं लेकिन इसे पहले अंतिम रूप दूंगा। एक बार जब मैं इससे खुश हूं तो मैं एक ट्यूटोरियल पोस्ट करूंगा कि मैंने सबकुछ कैसे किया। इम वर्तमान में या अगले सप्ताह में किया जाना इसलिए – Darc

    1

    मैं इस ब्लॉग में टिप्पणी करने के लिए थोड़ी देर हो चुकी हूँ, लेकिन यह कुछ अन्य लोगों के लिए उपयोगी हो सकता है।

    आप अपने Android फोन कीबोर्ड, माउस, कैमरा, ध्वनि स्ट्रीमिंग प्रणाली, टेदरिंग डिवाइस की तरह काम करने के लिए कर सकते हैं। संक्षेप में आप कभी भी यूएसबी गैजेट को बाजार में देखते हैं और जब तक हार्डवेयर आपको सीमित नहीं करता है। जैसे गति, या गैजेट इंटरफ़ेस उपलब्ध नहीं है।

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

    लेकिन इन सभी को करने के लिए आपको एंड्रॉइड कर्नेल को संशोधित करना होगा। यदि आप एक एंड्रॉइड डिवाइस डेवलपर हैं तो आप निश्चित रूप से ऐसा कर सकते हैं।

    +2

    रिकॉर्ड के लिए सी आशा में लिखा एक छोटा सा एप्लिकेशन के माध्यम से ड्राइवर से बात करने की एक Android ऐप्लिकेशन हो रही पर काम कर रहा है, यह एक ब्लॉग नहीं है, और के रूप में नहीं देखा जाना चाहिए इस तरह के। अधिक जानने के लिए [एफएक्यू] (http://stackoverflow.com/faq) देखें। संपादित करें: है कि नोट पर, मेटा बाहर पर [इस सवाल] (http://meta.stackexchange.com/questions/92107/is-stack-overflow-a-forum) की जाँच पर विचार करें। – Jules

    2

    यह संभव है, बिना किसी अतिरिक्त ड्राइवर की आवश्यकता है।

    आप छोटे यूएसबी डोंगल आकार के डिवाइस के साथ पीसी के यूएसबी कीबोर्ड का अनुकरण कर सकते हैं और फिर ब्लूटूथ पर कीबोर्ड (और/या माउस) डेटा भेजने के लिए अपने एंड्रॉइड डिवाइस का उपयोग कर सकते हैं। BTW http://igg.me/at/hiDBLUE/x/3400885

    :

    Indiegogo अभियान में वर्णनात्मक वीडियो पर एक नजर डालें उत्पाद तकनीकी दस्तावेज यहां उपलब्ध है: http://www.flyfish-tech.com/hiDBLUE

    4

    लगता है किसी को कर्नेल पैच से यह किया है। मैं सिर्फ एंजेलोस स्टेवौउ, कंप्यूटर विज्ञान विभाग जॉर्ज मेसन यूनिवर्सिटी, फेयरफैक्स, वीए द्वारा ज़ोहुई वांग द्वारा "एक्सप्लॉयटिंग स्मार्ट-फोन यूएसबी कनेक्टिविटी फॉर फन एंड प्रॉफिट" नामक एक पेपर में आया था। (उपर्युक्त शीर्षक googling द्वारा स्वतंत्र रूप से उपलब्ध)। यहां दो शोधकर्ता एंड्रॉइड डिवाइस को एचआईडी डिवाइस (कीबोर्ड) के रूप में प्रस्तुत करके संलग्न पीसी को नियंत्रित करने वाले समझौता किए गए एंड्रॉइड डिवाइस की संभावना की जांच कर रहे हैं। अवधारणा के सबूत के रूप में, ऐसा लगता है कि उन्होंने एक कर्नेल को सफलतापूर्वक वही कर दिया है जो आप चाहते हैं। वे विस्तृत चरण प्रदान नहीं किया लेकिन वैसे भी मैं सिर्फ बोली कि वे क्या ने कहा कि वे किया है:

    ..... हम एक विशेष यूएसबी गैजेट ड्राइवर अलावा मौजूदा USB समग्र इंटरफ़ेस के लिए एंड्रॉयड लिनक्स पर विकसित लिनक्स के लिए यूएसबी गैजेट एपीआई का उपयोग कर कर्नेल [4]। यूजीएएल ढांचे ने हमें विभिन्न यूएसबी मानव इंटरफेस चालक (एचआईडी) कार्यक्षमता (यानी डिवाइस चालक) और विभिन्न कर्नेल एपीआई के बीच गोंद कोड को लागू करने में हमारी सहायता की। प्रदान किए गए कोड का उपयोग करके: "ड्राइवर/यूएसबी/गैजेट/composite.c", हमने एक अतिरिक्त समग्र यूएसबी इंटरफ़ेस के रूप में अपना स्वयं का गैजेट ड्राइवर बनाया है। यह ड्राइवर यूएसबी कीबोर्ड डिवाइस को अनुकरण करता है। हम यूएसबी माउस डिवाइस को डेस्कटॉप सिस्टम में प्री-प्रोग्रामेड इनपुट कमांड भेजकर अनुकरण भी कर सकते हैं। इसलिए, यह सामान्य यूएसबी माउस या कीबोर्ड डिवाइस के रूप में पॉज़ करने के लिए सीधा है और दुर्भावनापूर्ण इंटरैक्टिव उपयोगकर्ता गतिविधियों को अनुकरण करने के लिए चुपके से पूर्वनिर्धारित आदेश भेजें। इस कार्यक्षमता को सत्यापित करने के लिए, हमारे नियंत्रित प्रयोगों में, हम गैर-घातक परिचालन निष्पादित करने के लिए कुंजीकोड अनुक्रम भेजते हैं और दिखाते हैं कि विशेष रूप से इस तरह के एक मैनिपुलेटेड डिवाइस क्षति का कारण बन सकता है, हमने डेल यूएसबी कीबोर्ड (vendorID = 413C, productID = 2105) मशीन को रीबूट करने के लिए "CTRL + ESC" कुंजी संयोजन और "यू" और "एंटर" कुंजी अनुक्रम भेजना। ध्यान दें कि इसे केवल यूएसबी कनेक्शन की आवश्यकता है और डेस्कटॉप सिस्टम पर "वर्तमान उपयोगकर्ता" विशेषाधिकार प्राप्त कर सकता है। पेलोड के रूप में भेजे गए अतिरिक्त स्थानीय या रिमोट शोषण के साथ, मैलवेयर विशेषाधिकार को बढ़ा सकता है और डेस्कटॉप सिस्टम की पूर्ण पहुंच प्राप्त कर सकता है।

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

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