問題タブ [directinput]

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

c++ - Ctrl+Alt+Del と DirectInput

C++ で DirectInput を使用して、プログラムのマウスとキーボードを取得しています。これは正常に機能し、InputLost エラーが発生した場合は再取得します。

Ctrlただし、 + Alt+を押すと、プログラム ウィンドウが再選択された場合でも、取得しようとするとDelプログラムが取得されます。これは、 ++ウィンドウE_ACCESSDENIED内でオプションを実際に選択していない場合でも発生します(キャンセルを押すだけです)。CtrlAltDel

これが発生した後、プログラムが入力を回復する方法について興味があります。現在、Windows 7 を実行しています。

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

c# - directInput でリリースキーを送信するにはどうすればよいですか?

直接入力を使用してキーを送信したい.キープレスを送信できた.しかし、キーを押し続けないようにキーリリースを送信する方法がわかりません.

これが私のコードです:

注 : DirectInput アプリケーションで SendInput API を使用してこのシミュレート キーボードを試しましたが、動作させることができませんでした

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

c++ - 追加の 10 キー キーパッドの個別入力

通常のキーボードと 10 キーのキーパッドの両方から入力を受け取りたい C++ で Windows DirectX 11 ソフトウェアを作成しています。プライマリ ユーザーによるフル キーボードの使用を中断することなく、セカンダリ ユーザーが 10 キーのキーパッドから入力できるようにしたいと考えています。たとえば、一次ユーザーがテキスト ボックスに入力している場合、二次ユーザーが 10 キー データをソフトウェアに送信して、テキスト ボックスの入力に影響を与えないように個別に処理できるようにしたいと考えています。

現在、マウスとキーボードの両方に DirectInput を使用しています。しかし、Windows API による解決策を誰かが知っている場合は、それも検討します。

DirectInput でキーボード デバイスを作成するとき、現在 GUID_SysKeyboard 値を使用しています。これは、ソフトウェアがキーボード入力のソースを識別できないように、両方のキーボードを 1 つにまとめたものです。EnumDevices を使用して 2 つのキーボードを識別し、個別の DirectInput デバイスを作成することは可能ですか? そうだと思いますが、EnumDevices コールバックに提供された DIDEVICEINSTANCE 構造体から各デバイスを識別する方法がわかりません。さまざまな組み合わせやモデル/ブランドのキーボードで使用できるように、これをできるだけ一般的なものにしたいと考えています。

ヘルプや提案をお寄せいただきありがとうございます。

(注: この同じ質問をGameDev.netに投稿しました)

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

c++ - win32 C++ プロジェクトでの入力のタイムアウト

キーを押す間に時間がかかりすぎる場合に、入力をタイムアウトする最良の方法を見つけようとしています。update の呼び出しごとにデルタでインクリメントされる cheatTime フロートを作成する必要がありますか? もう遅い、疲れた、頭が固い。どんな助けでも大歓迎です。m_pDIDirectInput ラッパー オブジェクトです。そのクラス内にはClearInput()、バッファ内の入力をクリアする関数があります。

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

windows - DirectX / Windows:アプリケーションを強制終了するときにタスクマネージャーに集中できません

この質問は、WindowsでのDirectXプログラミングの根本的な誤解を示している可能性がありますが、理解できない問題が少しあります。私のプログラムは、全画面で実行すると、時々奇妙な状態になり、アプリを強制的に閉じる必要があります(CTRL + ALT + DEL)。

問題は、CTRL + ALT + DELを押すと、タスクマネージャーが表示されますが、マウスを使用できないことです。キーボードは最初は機能しますが、マウスでタスクマネージャーウィンドウをクリックすると、フォーカスが失われ、フォーカスを取り戻すことができなくなります。アプリも最小化されません(Windowsアプリのプログラミングの問題?)

私のアプリがマウスの独占所有権を盗んでいる可能性はありますか?DirectInputを使用していますが、マウス入力はアプリによってまったく処理されません。さらに、この問題はアプリをフルスクリーンで実行している場合にのみ発生します。ウィンドウで実行すると、すべて問題ありません。

重要な場合、私が使用しているツールはMS Visual Studio 12、Windows 8、およびDirectX9です。

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

c++ - DirectInput でキーボードを取得できないのはなぜですか?

Windows 7 Ultimate N のMinGWでDirectInput8 を使用して、今日 DirectInput を使い始めたところです。現在、どのキーが毎秒ダウンしているかを報告する単純なプログラムから始めました (読み取り可能なキーではなく、コードのみ)。ただし、エラーになる前にキーボードを取得することさえできません。

エラーチェックは省略しましたがFAILEDAcquire(). その呼び出しはエラーで失敗しますDIERR_INVALIDPARAM。私はMSDNのページとWeb全体を見ましたが、存在して機能する前にすべてに基づいて失敗する理由を見つけることができません.

念のために、呼び出しが成功するまでループしてAcquire()から、実行中にウィンドウとキーボードをいじってみましたが、プログラムは実行中ずっとキーボードを正常に取得できませんでした。キーボードを正常に取得するにはどうすればよいですか?

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

c++ - LoadLibrary が原因でアクセス違反が発生する

ゲームでキーボードの再マッピングを可能にするプロキシ dinput8.dll を作成しようとしています。いくつかの指示などをまとめて、次のようにしました。

リンク先のモジュール定義ファイルは次のとおりです。

プロジェクトは問題なくビルドされ、DLL が生成されます。これを originaldinput8.dll (C:\Windows\SysWOW64\dinput8.dll の名前を変更したバージョン) と並べて配置し、ゲームを実行します。しかし、すぐにクラッシュします。デバッガーを実行すると、LoadLibrary の呼び出しが発生したときに次のエラーが発生します。

これは以前は機能していましたが (32 ビットの代わりに 64 ビットの元の DLL を使用していた問題の後)、どういうわけか機能しなくなり、問題の原因がわかりません。

DLL ファイルの検索に問題があるとは思いません。DLL ファイルを削除するか、間違ったファイルを使用すると、LoadLibrary がクラッシュせずにエラー コード 193 で失敗します。

何か案は?

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

c++ - キープレスに基づいてカメラの位置を変更する

DirectX を使用して画面上にグラフィックスをレンダリングするアプリケーションがあります。一人称のデフォルト ビューは、Y 軸を 0 に設定する以下のコードを使用して設定されます。コードは、Render() の前に呼び出される SetupCamera() 関数内に含まれています。

DirectInput を使用してユーザー入力を管理しています。ユーザーが SPACE を押し、Y 軸の値を 90 に変更してトップダウン ビューに切り替え、もう一度押すと元に戻すことができるようにしたいと考えています。現在、Render() の前に呼び出される ProcessKeyboardInput() 関数に以下のコードがあります。

しかし、ユーザーがレンダリングを中断しない値を調整できるようにするために何をする必要があるのか​​ わかりません。ここで単純なものが欠けているに違いありません。どんな助けでも大歓迎です。ありがとう!

完全な CameraSetup() コード...

完全な ProcessKeyboardInput() コード...

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

c++ - DirectInput 8 リンク エラー

学校のプロジェクト用の小さな 3D アプリケーションで、DirectInput を使用してカメラの動きを制御しようとしています。VS2010 で C++ を使用しています。

このリンクに従って、プロジェクトのプロパティでdxguid.libとdinput8.libをリンクする必要がありました。だから、私はそれらを追加しました。

これにより、VS2010 が dxguid.lib を読み取れなくなりました。そのため、 Microsoft のダウンロード ページから DirectX SDK をダウンロードしてインストールする必要がありました。これにより S1023 エラーが発生し、Microsoft のソリューションで解決されました。

他のコンパイル エラーが発生し続け、いくつかの検索でこのサイトにたどり着きました。そして、それを行った後、未解決の外部が2つしか得られません:

これは、最初のリンクから取得した関連コードで、マイナーな変更が加えられています。

そして、私が行うすべての検索は、上記で提供されたものと同じか、または同様のソリューションに戻ります。やっていないことが見つからない。誰でもアイデアを提供できますか?問題は、Windows 8 を使用している可能性がありますか? 前もって感謝します。

アップデート

私は最初のものを使用して解決することができました

しかし、私の欲求不満に、2番目は持続します...