2014-10-05 8 views
5

से प्रमुख प्रेस के संयोजन को सिम्युलेट करना मैं सक्रिय टैब को बंद करने के लिए एंड्रॉइड के लिए क्रोम में "CTRL + W" भेजना चाहता हूं। मैंने बहुत सी चीजों की कोशिश की लेकिन टर्मिनल से इसे हासिल करने में कोई सफलता नहीं मिली। (यदि मैं ओटीजी के साथ एक यूएसबी कीबोर्ड कनेक्ट करता हूं, तो मैं CTRL + W के साथ टैब को बंद कर सकता हूं)एडीबी टर्मिनल

सबसे पहले मैं इसके लिए कोई एप्लिकेशन नहीं लिखना चाहता, मैं केवल टास्कर से इसका उपयोग करने के लिए शेल कमांड चाहता हूं।

मैंने कहीं पढ़ा है कि इस (Ctrl + डब्ल्यू कुंजी दबाने) प्राप्त करने के लिए, मेरे पास है इस तरह कुंजी दबाव अनुकरण करने के लिए:

CTRL
नीचे नीचे डब्ल्यू
ऊपर डब्ल्यू
ऊपर CTRL

और टर्मिनल से इसे प्राप्त करने के लिए, ऐसा लगता है कि मुझे "प्रेषक" का उपयोग करना होगा।

मैं "sendevent" के साथ सभी हार्डवेयर कीप्रेस को अनुकरण कर सकता हूं लेकिन इसके साथ सामान्य कुंजी अनुकरण नहीं कर सकता।

उदाहरण के लिए, नीचे करने के लिए और बिजली कुंजी अप करने के लिए:

sendevent /dev/input/event1 1 116 1 
sendevent /dev/input/event1 0 0 0 
sendevent /dev/input/event1 1 116 0 
sendevent /dev/input/event1 0 0 0 

मैं इस आदेश का उपयोग करें, लेकिन मैं यह सामान्य कुंजी भेजने के लिए आदेश का उपयोग नहीं कर सकते हैं। (उदाहरण के लिए ए, बी, सी आदि)

ईवेंट 1 जीपीओ-चाबियाँ है, इसलिए मैं इसका उपयोग कर रहा हूं। और अन्य सभी इनपुट इवेंट सेंसर हैं और एक चार्जिंग ड्राइवर है। (Max77693-muic)

"getevent -p" के उत्पादन का कहना है कि:

add device 1: /dev/input/event9 
    name:  "compass_sensor" 
    events: 
    REL (0002): 0000 0001 0002 0003 0004 0005 0006 0007 
       0008 0009 
    input props: 
    <none> 
add device 2: /dev/input/event6 
    name:  "barometer_sensor" 
    events: 
    REL (0002): 0000 0001 0002 
    input props: 
    <none> 
add device 3: /dev/input/event5 
    name:  "light_sensor" 
    events: 
    REL (0002): 0000 0001 0002 0009 
    input props: 
    <none> 
add device 4: /dev/input/event4 
    name:  "proximity_sensor" 
    events: 
    ABS (0003): 0019 : value 1, min 0, max 1, fuzz 0, flat 0, resolution 0 
    input props: 
    <none> 
add device 5: /dev/input/event3 
    name:  "gyro_sensor" 
    events: 
    REL (0002): 0003 0004 0005 
    input props: 
    <none> 
could not get driver version for /dev/input/mice, Not a typewriter 
add device 6: /dev/input/event7 
    name:  "Midas_WM1811 Midas Jack" 
    events: 
    KEY (0001): 0072 0073 00e2 
    SW (0005): 0002 0004 
    input props: 
    <none> 
add device 7: /dev/input/event1 
    name:  "gpio-keys" 
    events: 
    KEY (0001): 0072 0073 0074 00ac 
    input props: 
    <none> 
add device 8: /dev/input/event0 
    name:  "max77693-muic" 
    events: 
    KEY (0001): 0072 0073 00a3 00a4 00a5 
    input props: 
    <none> 
add device 9: /dev/input/event8 
    name:  "sec_touchkey" 
    events: 
    KEY (0001): 008b 009e 
    LED (0011): 0008 
    input props: 
    <none> 
add device 10: /dev/input/event2 
    name:  "sec_touchscreen" 
    events: 
    ABS (0003): 002f : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0 
       0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0 
       0031 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0 
       0032 : value 0, min 0, max 30, fuzz 0, flat 0, resolution 0 
       0035 : value 0, min 0, max 719, fuzz 0, flat 0, resolution 0 
       0036 : value 0, min 0, max 1279, fuzz 0, flat 0, resolution 0 
       0039 : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0 
       003c : value 0, min -90, max 90, fuzz 0, flat 0, resolution 0 
       003d : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0 
    input props: 
    INPUT_PROP_DIRECT 
इसके अलावा

मेरी GPIO कुंजी लेआउट फ़ाइल की तरह "/system/usr/keylayout/gpio-keys.kl" इस:

key 115 VOLUME_UP   WAKE 
key 114 VOLUME_DOWN  WAKE 
key 116 POWER    WAKE 
key 172 HOME    WAKE 

मैं के साथ सभी सामान्य keyevents भेज सकते हैं:

"input keyevent KEYCODE_X" 

और भेजने के लिए एक से अधिक:

"input keyevent KEYCODE_X KEYCODE_Y" 

आप सोचना चाहिए यह कर सकते हैं इस तरह काम करता है:

"input keyevent KEYCODE_CTRL_LEFT KEYCODE W" 

लेकिन immediatly नीचे keyevent और ऊपर और मैं इसे इस्तेमाल नहीं कर सकते Ctrl + डब्ल्यू संयोजन भेजने के लिए।

मुझे पता है, जवाब "प्रेषक" के साथ होना चाहिए। लेकिन मुझे नहीं मिल रहा है।

मैं भी इस तरह कुंजी लेआउट फाइल में कुछ नकली चाबियाँ जोड़ने की कोशिश की:

key 115 VOLUME_UP   WAKE 
key 114 VOLUME_DOWN  WAKE 
key 116 POWER    WAKE 
key 172 HOME    WAKE 
key 19 Q 

मैं फोन को पुनः आरंभ, तो कोशिश की:

sendevent /dev/input/event1 1 19 1 
sendevent /dev/input/event1 0 0 0 
sendevent /dev/input/event1 1 19 0 
sendevent /dev/input/event1 0 0 0 

लेकिन यह कभी नहीं में लिखते हैं 'क्यू' कोई भी टेक्स्टबॉक्स

कृपया मदद करें, आपकी मदद के लिए धन्यवाद।

उत्तर

2

ओह हाँ !! मैं नहीं जानता क्यों, लेकिन जब भी मैं अटक लग रहा है मैं stackoverflow के लिए आते हैं और जैसे ही मैंने सवाल किसी भी तरह लेखन शुरू मैं इस सवाल का जवाब ... xD लगता है फिर भी, मैं प्रक्रिया का पालन करके यह करने के लिए कर रहा था:

  1. पर जाएं/प्रणाली/usr/keylayout/
  2. मेरे मामले में वहाँ गया था कोई GPIO-चाबियाँ, वैसे भी Generic.kl खोलने
  3. यह सब keycodes आप कुछ भी अनुकरण करने की आवश्यकता होगी ... इस तरह के CTRL_RIGHT के लिए के रूप में है कीकोड 9 7 है और डब्ल्यू कीकोड के लिए 17
  4. आपको बस इतना ही चाहिए, अब टास्कर खोलें -> नया कार्य -> ​​प्रतीक्षा 5 जोड़ें सेकंड -> भागो खोल: input keyevent 97 input keyevent 17

अब आदेश और जल्दी से खुला क्रोम, देखा चलाने! 5 सेकंड में आप अपना टैब गायब हो जाएंगे!

आशा है कि भविष्य की सभी tasker पेशेवरों में मदद करता है;)

कुडोस ...

+1

समाधान दो साल बाद आया, धन्यवाद। मैंने कोशिश की और यह बहुत अच्छा काम करता है। – Yusuf

0

getevent -p उत्पादन सूचियों में events अनुभाग सभी को स्वीकार कर लिया कुंजी कोड:

add device 7: /dev/input/event1 
    name:  "gpio-keys" 
    events: 
    KEY (0001): 0072 0073 0074 00ac 

अर्थात VOLUME_UP (0x73), VOLUME_DOWN (0x72), POWER (0x74) और HOME (0xAC) /dev/input/event1 के मामले में। एंड्रॉइड फ्रेमवर्क तक पहुंचने से पहले लिनक्स कर्नेल इनपुट ड्राइवर द्वारा बाकी सब कुछ फ़िल्टर किया जाता है (जहां लेआउट फाइलों को संशोधित करने का प्रयास किया जाता है)

+0

आपके उत्तर के लिए धन्यवाद। तो, एडीबी टर्मिनल से प्रमुख प्रेस के संयोजन को अनुकरण करना असंभव है? – Yusuf

+0

यह संभव है। मैं बस इतना कह रहा हूं कि आपको अब तक की कोशिश की तुलना में बहुत कम स्तर (कर्नेल ड्राइवर) पर कॉन्फ़िगरेशन परिवर्तन करने की आवश्यकता है। –

+0

कोई इसे एंड्रॉइड उत्साही में ले जाएं! – Abhioxic