入力デバイスからの入力をデバッグする方法(/ dev / input / event *)


19

imon-driverを使用しているIRレシーバーがあり、カーネルで動作するようにします。現在、リモート(image)のキーの半分は機能しますが、数値キーが機能しないようにすべてが重要だと考えています!

奇妙な考えは、カーネルキーマップモジュール(rc-imon-pad)は正しいように見えますが、そのモジュールなしではまったく同じキーが機能するため、実際には使用されていないようです。

私がimonをロードすると、rc-imon-padモジュールが常にロードされるようで、rc-imon-padをアンロードしても違いが生じないように、キーコードがキャッシュされていると思われます

今、私がそうするcat /dev/input/event5か、私がir-keytable -tどんなキーを押してもデータがある場合、私は失われます。そのため、ドライバーはボタンを登録しますが、間違ったキーコードに変換されているようです。

私のカーネルは、Nattyのubuntuストックカーネルです(Linux xbmc 2.6.37-11-generic#25-Ubuntu SMP Tue Dec 21 23:42:56 UTC 2010 x86_64 GNU / Linux)


2
問題は、カーネルが255より大きいキーコードを送信することであるようです。Xは、符号なし8ビット整数に制限されているため登録されません。そして私は今...この理論をテストするために修正キーコードとカーネルモジュールを再コンパイルしています
LassePoulsen

1
ところで、catあなたの代わりに、evtestうまく解析された情報を与えることができます。
9000

回答:


3

同じリモートを使用しており、2.6.38-gentoo-r3カーネルに正しいキーコードを送信しています。おそらく個々のキーマップを選択できるようにする時間がなかったため、キーコードをモジュールとしてコンパイルしませんでした。それはすべてか無かであり、無数の無駄なモジュールが私を混乱させるのは好きではありません。代わりに、v4l-utilsにudevで処理させます。

私が学んだこと:

  • ir-keytable -rの出力を確認します。リモートに適用可能なすべてのキーコードがリストされているはずです。
  • キーテーブルを手動で読み込みます:ir-keytable -c -w bleh / keymaps / imon_pad、その後ir-keytable -rがテーブルを返します
  • あなたは実際に欠陥のあるレシーバーを持っているかもしれません、あなたは歴史について何も言及しません。lirc-listに少なくとも1つのメッセージが表示されたことを覚えています。このメッセージでは、ケースを送り返し、新しいメッセージを取得して問題を解決しました。

それがどうなったのか教えてください。


この回答は必ず確認してくださいxinput test。ここで非常に役立ちます。unix.stackexchange.com/a/6231/27902
Elijah Lynn

17

役に立つxinput listと思うかもしれませんxinput test <device>

例えば、

$ xinputリスト
⎡仮想コアポインターid = 2 [マスターポインター(3)]
↳↳仮想コアXTESTポインターid = 4 [スレーブポインター(2)]
PS↳SynPS / 2 Synaptics TouchPad id = 11 [スレーブポインター(2)]
⎣仮想コアキーボードid = 3 [マスターキーボード(2)]
    ↳仮想コアXTESTキーボードid = 5 [スレーブキーボード(3)]
    ↳電源ボタンid = 6 [スレーブキーボード(3)]
    ↳Video Bus id = 7 [スレーブキーボード(3)]
    ↳スリープボタンid = 8 [スレーブキーボード(3)]
    ↳Asus Laptopの追加ボタンid = 9 [スレーブキーボード(3)]
    Translate AT Translated Set 2 keyboard id = 10 [スレーブキーボード(3)]

キーボード(xinput test 10)またはタッチパッド(xinput test 11、またはxinput test "SynPS/2 Synaptics TouchPad")であらゆる種類の入力イベントを監視でき、それらはコンソールにきれいに印刷され、パラメーターも抽出されて印刷されます。

これはあなたの問題を解決しませんが、少なくともcat /dev/input/event1生成するなどの乱雑さを解読することにより、少なくとも少し助けになります。


1
どうもありがとうございます!私は、構築されたキーボードの検出器を、この回答に基づいて。
l0b0
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.