問題タブ [xinput]

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 投票する
2 に答える
1356 参照

c++ - 異なるスレッドから呼び出される XInputGetState と XInputSetState

コントローラーの入力をキャプチャするスレッドがあります。このスレッドが行うことはこれだけですXInputGetState()。x ミリ秒ごとに呼び出し、結果を同期循環バッファに格納します。XInputSetState()特定の条件に達したときにコントローラーを振動させることで、この入力に反応する別のスレッドがあります。

つまり、一方のスレッドは のみを呼び出しXInputGetState()、もう一方のスレッドは のみを呼び出しますXInputSetState()。理論的には、いずれかの関数が同時に複数回呼び出されることはありません。同期せずにこれを行うのはまだ安全ではありませんか?

注: これらの 2 つの関数は、まったく異なるデータ セットで動作しますが、実装は同期されていないものに対して読み取り/書き込みを行う可能性が最も高いです。

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

c# - xinput 座標を正方形に変換する

私は、xinput を使用して xbox 360 サム スティックを読み取る小さな C# プログラムに取り組んでいます。

座標を読み取って値を正規化することに問題はないので、X 方向と Y 方向に対して -1 と +1 の間の浮動小数点数を取得します。私が抱えている問題は、スティック自体が物理的に円に制限されていることです。私の場合、座標を「伸ばして」円よりも正方形にしたいと考えています。

その理由は、各方向がモーターを制御しているためです。たとえば、スティックを右上に動かすと、X と Y の両方が 1 になります。スティックは円形なので、これは不可能であり、両方のモーターを作ることも不可能です。全速力で走る。

何かアドバイス?

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

c - C/C++: Linux でマウスを無効にする (X11 - xinput)

C/C++ を使用して Linux でマウスをプログラムで有効または無効にしたいと考えています。端末コマンドを使用してそれを行うことができる X11 の入力拡張機能があります。

これは完全に機能しますが、ライブラリを使用して直接これを行うことを検討しています。libxi (X11 入力拡張ライブラリ) に関する適切なドキュメントが見つかりません。また、/usr/include/X11 のヘッダー ファイルも有用な機能を提供していません。誰でもこれで私を助けることができますか?

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

winapi - DX ゲームに注入してゲームをアイドル状態にする

DX ゲームに挿入する DLL があります。DLL では、XInput、生の入力、および WndProc のサブクラスを無効にして、WM_MOUSEMOVE、WM_LBUTTONDOWN、WM_INPUT などの一連の入力メッセージをフィルター処理しています。

一部のゲームではうまく機能しますが、すべてのゲームで機能するとは限りません。一部のゲームにはまだマウスの移動/ホバー入力があり、移動すると一部の UI のホバー状態が表示されます。

私の質問は、私が見逃したものは何ですか? ゲームは他の方法で入力をキャプチャできますか?

ありがとうございました。

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

linux - Linux の Counter-Strike GO でのマウス感度の動的変更

Linux の Counter-Strike GO で、ボタンによるマウスの感度切り替えを実装して、ボタンを押すと感度が変化し、ボタンを離すと感度が通常に戻るようにしました。

xinput ユーティリティと「Device Accel Constant Deceleration」プロパティを使用してそれを実行しようとしました。CS:GO メニューで動作しますが、ゲームには影響しません。コマンドラインからマウスの感度を変更する他の方法については何も見つけられず、コマンドラインからの usbhid マウスドライバーの構成についても何も見つかりませんでした。

実はLinuxのマウスドライバーを改造してみようと思っています。しかし、ドライバーの変更を開始する前に、コマンド ラインからマウスの感度を変更して、CS:GO のマウスの感度に影響を与える方法を知っている人はいないかと尋ねることにしました。

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

linux - XInput2 デバイスを sysfs ノードにマップする

によって報告された XInput2 デバイスをXIQueryDevice適切なsysfsノードに変換するにはどうすればよいですか? デバイスは、evdev入力ドライバーによって処理される汎用 HID デバイスです。

デバイスの を取得できることはわかってnameいます。Xorg.0.logを見て、このデバイスが追加されたときの適切なログ メッセージを見つけようとすることができるかもしれません/dev/input/event*。それに関連するデバイス ノードが記載されていることを期待しています。または、 内のすべての入力イベントをsysfs調べて、その名前のイベントを探し、その名前が一意であり、XInput を介して報告されたものと同一であることを期待します。しかし、これらのいずれよりもクリーンなソリューションがあることを願っています。