キーボードの物理状態の判定

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
めんたいこ

キーボードの物理状態の判定

#1

投稿記事 by めんたいこ » 1年前

キーボードの操作を行うプログラムを書いているのですが、
仮想キーで操作したものとは別に物理的なキーの状態を取得する方法はありますでしょうか。

具体的には以下のような動作をするプログラムです。
1. エンターが押されたら作動する
----仮想キー操作-----------
2. Wキーを押す
3. Wキーを離す
-------------------------------
4. エンターを離したら止まる

問題が発生しているのは以下のケースです。
1のタイミングでエンターとWキーを同時にユーザーが押した場合、
Wキーをプログラム終了まで押し続けていても仮想キー操作でWキーを離しているため、
プログラム終了後はWキーを押しなおさなければならない。

仮想キー操作で離す動作を入れているからそりゃそうなのですが、、、何か解決するすべはないでしょうか。
1のタイミングではWキーを押している場合もあるし、押していない場合もあります。
さらに言えば途中でWキーをユーザーが離す可能性もあるので
仮想キーとは別に物理キーの状態を取得する方法はないでしょうか。
もしくは別の考え方がありましたらご教授いただければ幸いです。

Bull
記事: 149
登録日時: 9年前

Re: キーボードの物理状態の判定

#2

投稿記事 by Bull » 1年前

質問の内容を理解できていないのですが、いずれにしても物理キーの状態を取得するには実行環境に依存するのではないかと。
プログラミング言語によっては、汎用的に物理キーを取得する方法があるのかもしれませんが。

どのような環境で実行するかを明示していただいたほうが、適切な回答が付きやすいかと思われます。
例えば Windows では、アプリケーションでは普通は仮想キーの入力状態しか取得できないです。
Raw Input API を使用すると、物理キーも取得できるようですが、あいにく経験が無いので詳細はわからないです。

返信

“C言語何でも質問掲示板” へ戻る