問題タブ [evdev]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
438 参照

c - Linuxモジュールのコンパイル:structevdevメンバーが見つかりません

そこで、Linux上のマウスなどの入力デバイス用のイベントハンドラードライバーであるevdev.cを変更しようとしています。

私が抱えている問題は、モジュールをコンパイルしようとすると、evdevのメンバーが見つからないというエラーが大量に発生することです。

これはエラーのほんの一部です。

evdevの構造体は、私がコンパイルしているmousedev_dbl.cファイルに明確に存在します。

例として、215行目での使用方法を次に示します。

これらのエラーの原因は何ですか?ファイル全体はここにあります:http: //lxr.free-electrons.com/source/drivers/input/evdev.c

0 投票する
1 に答える
3628 参照

python - Python evdev は、デバイスが接続されていないことを検出します

USBバーコードリーダーの入力をリッスンするために優れた「evdev」ライブラリを使用しています。デバイスが突然取り外されたり応答しなくなったりするかどうかを検出する必要があります。そうしないと、ループを読み取るpythonスクリプトが単一のスレッドで100%のCPU使用率になり、利用可能なすべてのメモリをゆっくりと消費し始め、しばらくするとシステム全体がクラッシュします。

アイデアは、デバイスのプラグが抜かれたことを検出し、現在のスクリプトを強制終了して、デバイスが再び差し込まれるか応答するまでスーパーバイザがスクリプトを再起動しようとすることです。

入力を読み取るために使用しているコードは次のとおりです。

では、これを適切な方法で行うにはどうすればよいでしょうか。
私がそれがうまくいくかもしれないと思った方法は、1〜5分ごとにcronから実行され、デバイスがまだ利用可能かどうかを確認する2番目のスクリプトです。現在であれば、ファイルからプロセスIDを取得してプロセスを強制終了しますが、この方法では、デバイスがプラグを抜いてからチェックの間に再び差し込むと、メイン スクリプトがゆっくりとクラッシュしている間、「チェッカー」スクリプトはすべて問題ないと判断します。

0 投票する
2 に答える
2296 参照

python - マスクキーのキーバインディングの問題でpython-evdevを使用してイベントをuinputに送信する

要するに、クリップボードを編集し、アクティブなウィンドウに変更を貼り付けるキーバインドをプログラムに追加しようとしているということです。Windowsではおそらくメッセージパッシングでできると思いますが、Xはそのようなメッセージパッシングを使用しないため、これを行うために、python-evdevを使用してctrl + vイベントをuinputに送信しています。これは、実行するだけではかなりうまく機能しますが、キーバインドで実行する必要があります。この場合は super+v. 問題は、ctrl および v イベントを uinput に送信すると、スーパー マスクがまだアクティブであるため、ウィンドウに ctrl+v を送信する代わりに、実際には何もしない ctrl+super+v を送信することです。私が話していることを正確に説明するための最小限のコードを次に示します。

非常に迅速にリリースすれば、実際に動作させることができますが、非常に高速であり、実際のアプリケーションには明らかに受け入れられません。super をリリースしようとしましたが、いくつかの問題が発生します。それは非常に一般的ではなく、後で何をすべきかという問題を引き起こします (リリースしたままにしますか? もう一度押しますか? リリースしてからもう一度押すまでの時間内にリリースされたらどうしますか?)、そして最も重要なことに、そうではありません本当にうまくいくようです。

とにかく、私は質問だと思います、これを回避する方法はありますか?おそらく、物理キーボードと結合しないキープレスイベントを送信する方法 (ありそうもない)? そうでない場合、Linuxに一般的に貼り付けるためのより良い方法はありますか?

0 投票する
1 に答える
3262 参照

python - Mac OS に python-evdev をインストールするには?

python-evdevライブラリを Mac OSにインストールする方法はありますか? インストールしようとすると、MacはThe linux/input.h header file is missing.(もちろん)そう言います。Macにインストールできますか?または、他の代替手段を知っていますか?

でワコムの入力を読み取るアプリケーションがあり、/dev/input/wacomLinux でうまく動作しますが、Mac でも実行しようとしています。

0 投票する
2 に答える
6282 参照

python - Python evdev とバーコード スキャナー

バーコードスキャナーからの入力をキャッチするために使用する次のコードがあります。問題は、スキャンしたコード全体をデータベースに保存したいのですが、コードのすべての文字が新しい行に出力されることです:

私はPythonの初心者なので、どんな助けでも大歓迎です。

0 投票する
0 に答える
575 参照

c++ - Qt5: evdev-support を使用した静的プログラムのクロスコンパイル

簡単なプログラムをクロスコンパイルしようとしています。私のコンピューターでネイティブにコンパイルできます (プログラムは機能します)。私の開発ボード用にクロスコンパイルすると、linuxfb はすぐに使用できます。しかし、入力は生成されません。

それがqtの設定方法です:

それは私の.proです:

開発ボードで次の出力が得られます。

-plugin EvdevXXX を使用してプログラムを起動するか、パラメータを使用せずにプログラムを起動することに違いはないようです。何が問題で、どうすれば修正できますか?

0 投票する
1 に答える
1520 参照

linux - /usr/share/X11/xkb/rules のファイル evdev が evdev.lst と一致しないのはなぜですか?

evdev.lst にリストされている setxkbmap のいくつかのオプションは、付随する evdev ファイルでは実際にはサポートされていないようです。たとえば、ctrl:nocaps はサポートされていますが、ctrl:swap_lalt_lctl はサポートされていません。

これにより、欠落しているオプションを使用できなくなります。以前の質問で説明したように、一部の setxkbmap オプションが無視されるのはなぜですか? おまけの質問として、これらの不足しているオプションをサポートできるようにする方法はありますか?

0 投票する
1 に答える
3638 参照

linux - Linux 入力デバイス イベント、初期状態の取得方法

Linux を実行している組み込みデバイスのいくつかのボタンを処理するために、gpio-keysデバイス ドライバーを使用しています。ユーザー空間のアプリケーションは/dev/input/eventX、ループ内で入力イベントを開いて読み取ることができます。

私の質問は、ボタンの初期状態を取得する方法です。EVIOCGKEYこれに使用できるioctl 呼び出し ( ) がありますが、最初にこれを確認してから から読み取りを開始する/dev/input/eventXと、その間に状態が変化しなかったことを保証する方法はありません。

助言がありますか?