これがこの質問の正しい場所であるかどうかはわかりません。私は自分のシステム上でジョイスティック/dev/input/js0
から軸の位置の値を取得しようとしています。 jstest /dev/input/js0
を実行すると、すべてのボタンと軸の位置に関するライブフィードバックが表示されます。私はこの情報を私のCプログラムに送り、サーボを制御しようとしています。これを行うための関数はありますか?私はプログラミングの入力デバイスではあまり働いていないので、これは私にとって初めてのことです。どんな助けでも大歓迎です。/dev/inputからライブ情報を取得する
6
A
答えて
2
このページ:https://www.kernel.org/doc/Documentation/input/input.txt:http://scaryreasoner.wordpress.com/2008/02/22/programming-joysticks-with-linux/は、ファイルから読み込むイベントのフォーマットはここに記述されてい
DEV /入力/ JS0 /から情報を読み取る方法についてのすてきな過去記事を持っています。
struct input_event {
struct timeval time;
unsigned short type;
unsigned short code;
unsigned int value;
};
2
あなたがイベントを読み取るために、このpython codeを実行することができます:それは、タイムスタンプ、イベントタイプと識別子と値を含む単純な構造体です。
また、高レベルのモジュールpython-evdevを使用することもできます。
#!/usr/bin/env python
import struct
infile_path = "/dev/input/js0"
EVENT_SIZE = struct.calcsize("llHHI")
file = open(infile_path, "rb")
event = file.read(EVENT_SIZE)
while event:
print(struct.unpack("llHHI", event))
(tv_sec, tv_usec, type, code, value) = struct.unpack("llHHI", event)
event = file.read(EVENT_SIZE)
サンプル出力:
(73324490, 8454144, 55242, 1118, 25231360)
(73324490, 42008576, 55242, 1118, 58785792)
(73324490, 75563008, 55242, 1118, 92340224)
(73324490, 109117440, 55242, 1118, 125894656)
(73324490, 142671872, 55242, 1118, 159449088)
(73324490, 176226304, 55242, 1118, 193003520)
(73324490, 209780736, 55242, 1118, 226557952)
(73324490, 243335168, 55242, 1118, 8519680)
(73324490, 25296896, 55242, 1118, 42074112)
(73324490, 58884097, 55242, 1118, 75661313)
(73324490, 92405760, 55242, 1118, 109215745)
(73324490, 125992961, 55242, 1118, 142737408)
(73324490, 159514624, 55242, 1118, 176324609)
(73327790, 84041474, 58542, 1118, 84049919)
(73328030, 84044852, 58782, 1118, 84017152)
(73331790, 33749013, 62542, 1118, 33742256)
(73331790, 33736851, 62562, 1118, 33731108)
(73331830, 33723339, 62602, 1118, 33718273)
(73332090, 33723339, 62862, 1118, 33685504)
関連する問題
- 1. URLから情報を取得する
- 2. データベースから情報を取得する
- 3. Jenkins APIからビルド情報を取得
- 4. default.ctp controller cakephpから情報を取得
- 5. データベースサーバからハードウェア情報を取得
- 6. OLAPから情報を取得
- 7. パッケージ名からアプリケーション情報を取得
- 8. Schema.orgからJSON-LD情報を取得
- 9. restfbからの情報を取得
- 10. アンドロイドのステータスバーから情報を取得
- 11. FLVからキーフレーム情報を取得
- 12. ModelValidatorからアクション情報を取得
- 13. AlertDialogから情報を取得
- 14. 取得情報
- 15. SVNからの情報の取得
- 16. SNMP - プロセスからの情報の取得
- 17. マグネットウリからの情報取得
- 18. データベースからの情報の取得
- 19. クロムエクステンションからのクッキー情報の取得
- 20. ColorPickerDialog.javaからの色情報の取得
- 21. PyWin32ネットワーク情報/統計情報を取得する
- 22. Flexオブジェクト/モジュールからすべての情報を取得する
- 23. Curlを使ってhtmlテーブルから情報を取得する
- 24. iOSを使用してオンラインデータベースから情報を取得する
- 25. JFrameを待ってから情報を取得する
- 26. データベースから情報を取得する際の問題
- 27. Request.GetResponse()からセッション情報を取得する
- 28. Windows Media pから情報を取得する
- 29. drupalデータベースから情報を取得する方法
- 30. 別のアプリケーションから情報を取得する