キーボードの操作を行うプログラムを書いているのですが、
仮想キーで操作したものとは別に物理的なキーの状態を取得する方法はありますでしょうか。
具体的には以下のような動作をするプログラムです。
1. エンターが押されたら作動する
----仮想キー操作-----------
2. Wキーを押す
3. Wキーを離す
-------------------------------
4. エンターを離したら止まる
問題が発生しているのは以下のケースです。
1のタイミングでエンターとWキーを同時にユーザーが押した場合、
Wキーをプログラム終了まで押し続けていても仮想キー操作でWキーを離しているため、
プログラム終了後はWキーを押しなおさなければならない。
仮想キー操作で離す動作を入れているからそりゃそうなのですが、、、何か解決するすべはないでしょうか。
1のタイミングではWキーを押している場合もあるし、押していない場合もあります。
さらに言えば途中でWキーをユーザーが離す可能性もあるので
仮想キーとは別に物理キーの状態を取得する方法はないでしょうか。
もしくは別の考え方がありましたらご教授いただければ幸いです。
キーボードの物理状態の判定
Re: キーボードの物理状態の判定
質問の内容を理解できていないのですが、いずれにしても物理キーの状態を取得するには実行環境に依存するのではないかと。
プログラミング言語によっては、汎用的に物理キーを取得する方法があるのかもしれませんが。
どのような環境で実行するかを明示していただいたほうが、適切な回答が付きやすいかと思われます。
例えば Windows では、アプリケーションでは普通は仮想キーの入力状態しか取得できないです。
Raw Input API を使用すると、物理キーも取得できるようですが、あいにく経験が無いので詳細はわからないです。
プログラミング言語によっては、汎用的に物理キーを取得する方法があるのかもしれませんが。
どのような環境で実行するかを明示していただいたほうが、適切な回答が付きやすいかと思われます。
例えば Windows では、アプリケーションでは普通は仮想キーの入力状態しか取得できないです。
Raw Input API を使用すると、物理キーも取得できるようですが、あいにく経験が無いので詳細はわからないです。