2017-02-06 18 views
3

私は、LinuxコンピュータにUSBで接続されたバーコードスキャナを持っています。スキャナはキーボードデバイスをエミュレートします。Linux、バーコードスキャナから読み取る

スキャンしたバーコードを読み取って処理するプログラムを作成する必要があります。プログラムはサービスとしてバックグラウンドで実行され、現在のXフォーカスに関係なくバーコードスキャナを読み取る必要があります。

これはLinuxでどのように作成できますか?

いくつかの下位レベルの解決策/説明が望ましい。

+0

[here](http://stackoverflow.com/a/29956584/1475978)の例を示しました。 –

答えて

2

あなたがこの記事で説明した方法が助けるべき場合には、指定されたデバイス、 からデータをキャプチャするようですね:

http://www.thelinuxdaily.com/2010/05/grab-raw-keyboard-input-from-event-device-node-devinputevent/

のみに起因するキーボードイベントのために聞くということ指定されたソース。

私の知る限り、あなたの現在のウィンドウの焦点がどんなものにでも伝播するのを止めることはありません。

+0

よく、バーコードをフォーカスされたアプリケーションに渡すことは非常に望ましくありません。 – johnfound

+0

読んだ後でkeypressイベントをキャンセルするのが短くて、うまくいきません。どうすればいいのか分かりません。デバイスノードを1つのアプリケーションに限定する方法しか見ていませんでした。遠い私がこれまでに見つけた – Minothor

+0

最も近いものは、キーイベントをインターセプトし、変更、デバイスを排他的に制御を獲得し、この人です: https://www.reddit.com/r/linux/comments/1h30c8/devinputeventx_c_programming_question/ 実際には、それはあなたが探しているものかもしれません: '... あなたがグラブを維持するなら、他に何もキーストロークが見えません。 ... ' – Minothor

0

解決策を開始するには、デーモンが最適な選択だと思います。

デバイスノード(スキャナ用)を開き、データバッファを読み取るデーモンコードを書くことができます。

ユーザー空間にデータを受け取ったので、要件に応じて自由に処理できます。

関連する問題