इनपुट-डिवाइस से इनपुट डिबग कैसे करें (/ dev / इनपुट / इवेंट *)


19

मेरे पास एक IR रिसीवर है जो imon- ड्राइवर का उपयोग कर रहा है और मैं इसे कर्नेल के साथ काम करना चाहूंगा। अभी रिमोट ( छवि ) पर कुंजियों का आधा काम करता है, लेकिन सभी महत्वपूर्ण विचार जैसे कि संख्यात्मक कुंजी नहीं है!

अजीब सोच यह है कि कर्नेल कीमैप मॉड्यूल (आरसी-इमोन-पैड) सही प्रतीत होता है, लेकिन ऐसा लगता है कि इसका उपयोग वास्तव में नहीं किया जाता है क्योंकि उस मॉड्यूल के बिना काम कर रहे हैं।

ऐसा लगता है कि जब मैं imon लोड करता हूं तो आरसी-इमोन-पैड मॉड्यूल हमेशा लोड हो जाता है, और फिर मुझे संदेह है कि कीकोड्स कैश हैं इसलिए अगर मैं आरसी-इमोन-पैड को लोड नहीं करता तो इससे कोई फर्क नहीं पड़ता

अब मैं खो गया हूं, अगर मैं करता हूं cat /dev/input/event5या ir-keytable -tकोई डेटा नहीं है तो मैं किस कुंजी को दबाता हूं, इसलिए ड्राइवर बटन को पंजीकृत करता है लेकिन ऐसा लगता है कि वे गलत कीकोड में अनुवादित हैं।

मेरी गुठली नैट्टी से एक ubuntu स्टॉक कर्नेल है (लिनक्स xbmc 2.6.37-11-जेनेरिक # 25-उबंटू एसएमपी मंगल 21 दिसंबर 23:42:56 यूटीसी 2010 x86_64 GNU / लिनक्स)


2
ऐसा लगता है कि समस्या यह है कि कर्नेल 255 से अधिक कीकोड भेजता है जो X पंजीकृत नहीं करता है क्योंकि यह एक अहस्ताक्षरित 8 बिट पूर्णांक तक सीमित है। और मैं अब इस सिद्धांत का परीक्षण करने के लिए संशोधित कीकोड के साथ कर्नेल मॉड्यूल को फिर से जोड़ रहा हूं ...
LassePoulsen

1
Btw, बजाय catआप का उपयोग कर सकते हैं evtestजो अच्छी तरह से पार्स जानकारी देता है।
9000

जवाबों:


3

मेरे पास एक ही रिमोट है और मेरे पास इसके 2.6.38-gentoo-r3 कर्नेल के लिए सही कीकोड भेजना है। मैंने कीकोड को एक मॉड्यूल के रूप में संकलित नहीं किया, क्योंकि उनके पास संभवत: व्यक्तिगत कीमैप्स का चयन करने के लिए संभव नहीं है। यह सब या कुछ भी नहीं है और मुझे एक अव्यवस्थित बेकार मॉड्यूल मुझे पसंद नहीं है। इसके बजाय मैं v4l-utils दे रहा हूँ इसे udv के साथ संभालना।

कुछ चीज़ें जो मैंने सीखीं:

  • Ir-keytable -r का आउटपुट चेक करें, यह आपके रिमोट पर लागू सभी कीकोड को सूचीबद्ध करेगा
  • की-टेबल को मैन्युअल रूप से लोड करें: ir-keytable -c -w bleh / keymaps / imon_pad, जिसके बाद ir-keytable -r आपको टेबल वापस देना चाहिए
  • आपके पास वास्तव में एक दोषपूर्ण रिसीवर हो सकता है, आप इतिहास के बारे में कुछ भी उल्लेख नहीं करते हैं। मुझे याद है कि कम -से- कम एक संदेश को lirc-list पर देखा जा रहा है जहाँ लड़के ने कहा कि केस वापस भेजना और एक नया प्राप्त करना उसके मुद्दों को हल करना है।

आइए जानते हैं कि यह कैसे हुआ।


हर किसी को इस उत्तर की जाँच करना सुनिश्चित करें, xinput testयहाँ बहुत उपयोगी है। unix.stackexchange.com/a/6231/27902
एलिजा लिन

17

आपको उपयोगी xinput listऔर मिल सकता है xinput test <device>

उदाहरण के लिए,

$ xinput सूची
⎡ वर्चुअल कोर पॉइंटर आईडी = 2 [मास्टर पॉइंटर (3)]
⎜ 4 वर्चुअल कोर XTEST पॉइंटर आईडी = 4 [दास पॉइंटर (2)]
Id id SynPS / 2 सिनैप्टिक्स टचपैड आईडी = 11 [दास सूचक (2)]
2 वर्चुअल कोर कीबोर्ड आईडी = ३ [मास्टर कीबोर्ड (२)]
    Sl वर्चुअल कोर एक्सटेस्ट कीबोर्ड आईडी = ५ [दास कीबोर्ड (३)]
    ↳ पावर बटन आईडी = 6 [दास कीबोर्ड (3)]
    ↳ वीडियो बस आईडी = 7 [दास कीबोर्ड (3)]
    3 स्लीप बटन आईडी = sl [स्लेव कीबोर्ड (३)]
    Keyboard एसस लैपटॉप अतिरिक्त बटन आईडी = 9 [दास कीबोर्ड (3)]
    ↳ एटी ट्रांसलेटेड सेट 2 कीबोर्ड आईडी = १० [स्लेव कीबोर्ड (३)]

और मैं सभी प्रकार की इनपुट घटनाओं के लिए अपने कीबोर्ड ( xinput test 10) या टचपैड ( xinput test 11या यहां तक ​​कि xinput test "SynPS/2 Synaptics TouchPad") की निगरानी कर सकता हूं , और वे कंसोल के लिए बहुत सुंदर मुद्रित होते हैं, और पैरामीटर निकाले जाते हैं और मुद्रित भी होते हैं।

यह आपकी समस्या को हल नहीं करेगा, लेकिन कम से कम अव्यवस्था को कम करने में मदद करेगा जो कि cat /dev/input/event1पैदा करता है।


1
आपको बहुत - बहुत धन्यवाद! मैंने इस उत्तर के आधार पर एक कीबोर्ड डिटेक्टर बनाया ।
l0b0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.