2013-08-15 6 views
16

मुझे पता है, मैं /dev/input/eventx के माध्यम से एंड्रॉइड/लिनक्स में इनपुट डिवाइस सुन सकता हूं। यदि आप सुपरसुर हैं, तो आप डिवाइस पर एक ईवेंट भेज सकते हैं।मैं अपने एंड्रॉइड डिवाइस पर नया वर्चुअल माउस डिवाइस कैसे बना सकता हूं?

मैं माउस घटनाओंविंडोज या लिनक्स पर, एक सुपर उपयोगकर्ता के रूप में मेरे एंड्रॉयड डिवाइस को भेजने के लिए TeamViewer की तरह चाहते हैं, और मैं इस एक माउस के साथ है की ज़रूरत है। इसके बिना, मैं जब भेजने इस घटना /dev/input/event8 को /dev/input/event8 xxxx xxxx xxxxxxxx sendevent Could not open /dev/input/event8, No such device के रूप में त्रुटि मिलती है, mknod /dev/input/event8 c 13 71

यह समस्या मेरे डिवाइस के लिए ब्लूटूथ माउस को जोड़ने हल किया जा सकता के साथ बनाया नोड। डिवाइस स्वचालित रूप से /sys/devices/platform/tegra_uart.2/tty/ttyHS2/hci0एचसीआई 0: 11 के तहत स्वचालित रूप से बनाया गया है इनपुट ईवेंट /dev/input/event7 (major 13 minor 71) भी बनाते हैं। अब, मैं उस नोड पर ईवेंट भेज सकता हूं और एंड्रॉइड माउस कर्सर को नियंत्रित कर सकता हूं। लेकिन मैं माउस से कनेक्ट नहीं होना चाहता।

क्या कोई सुझाव दे सकता है कि मैं अपने एंड्रॉइड डिवाइस पर वर्चुअल माउस डिवाइस कैसे बना सकता हूं?

+2

माउस डिवाइस? O_O –

+0

हां, जैसे टचस्क्रीन लेकिन असली हार्डवेयर डिवाइस के बिना। मेरा मतलब है, वर्चुअल माउस डिवाइस। –

+0

@ErdemUYSAL http://lxr.free-electrons.com/source/Documentation/input/input.txt और ड्राइवर/इनपुट/माउस/के तहत कोड भी देखें। –

उत्तर

12

मैं क्या देखते हैं आप अपने खुद के ड्राइवर के साथ अपनी खुद की आभासी डिवाइस बनाना चाहिए से, सौभाग्य से वहाँ ऐसा करने के लिए एक आसान तरीका उपयोग कर रहा है uinput

शुरू हो रही here के लिए एक आसान गाइड है, और यह question अपना खुद का आभासी ड्राइवर लिखने के लिए एक अच्छी मार्गदर्शिका हो सकती है।

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

नोट:

मैं recommendition स्पर्श इवेंट का उपयोग करने के साथ सहमत; क्योंकि यह समाधान अधिक आम है और समझ में आता है, यह दूसरा सुझाव है answer

+1

शानदार उत्तर। मैं यह जोड़ना चाहता हूं कि कार्यक्रम समाप्त होने के बाद डिवाइस गायब हो जाएगा।मैं एक इनपुट डिवाइस बनाने और/dev/input/event * फ़ाइल में इनपुट इवेंट भेजने में सक्षम हूं। –

+0

@LeonvanNoord धन्यवाद, खुशी है कि मैं मदद कर सकता हूं, लेकिन क्या आप डिवाइस गायब होने के बारे में अधिक स्पष्ट हो सकते हैं? भविष्य में जो भी इस जवाब की तलाश में मदद करने के लिए। – ProllyGeek

+0

यदि [गाइड] (http://thiemonge.org/getting-started-with-uinput) के भाग 1 में वर्णित प्रोग्राम चल रहा है, तो डिवाइस गायब हो जाता है। यह अब/proc/bus/input/devices में मौजूद नहीं है और संबंधित/dev/input/event * भी गायब हो जाता है। –

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