2〜3つ位なら問題ないですが、複数のキーを押すと反応しない物が出てきます。
例えば下記のソースだと ZとXとCとVとB をおしても反応しない物があります。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
//Timer1.Interval := 60;
//Memo1.ReadOnly:=True;
Memo1.Clear;
if GetAsyncKeyState(Ord('Z')) <0 then Memo1.Lines.Add('Z-ON')
else Memo1.Lines.Add('Z-OFF');
if GetAsyncKeyState(Ord('X')) <0 then Memo1.Lines.Add('X-ON')
else Memo1.Lines.Add('X-OFF');
if GetAsyncKeyState(Ord('C')) <0 then Memo1.Lines.Add('C-ON')
else Memo1.Lines.Add('C-OFF');
if GetAsyncKeyState(Ord('V')) <0 then Memo1.Lines.Add('V-ON')
else Memo1.Lines.Add('V-OFF');
if GetAsyncKeyState(Ord('B')) <0 then Memo1.Lines.Add('B-ON')
else Memo1.Lines.Add('B-OFF');
end;
きちんと反応させるにはどうしたらいいのでしょうか?
環境:Win98se del6Per
私の環境では4キー以上で反応なくなりました。
多分ハード的に無理なのではないでしょうか?
少なくともWindowsの動くどのような環境にも対応するのは至難かとおもいます。
複数キー同時押しに対応するキーボードにすれば取得できると思います。
# 対応したキーボードを持っていないため未確認ですが
確か東プレのキーボードが対応していたような・・・
なるほど。
ご意見ありがとうございました。
ツイート | ![]() |