inkey$

働き

キーボードで押されていたキーがどれかを得ます。

文法

inkey$(<n>)
  • n - キーボードディレイの間隔を ms で指定する式

説明

inkey$ では、キーボードで何らかのキーが押されていた場合に、どのキーが押されていたかが、この関数の結果の値となります。キーが押されていない状態では、""(長さが 0 の文字列)がこの関数の結果の値となります。

この関数に対しては、キーボードのディレイ間隔を ms (ミリセカンド) 単位で指定できます。指定しない場合は、200 ms のキーボードディレイが適用されます。ここで言うディレイというのは、あるキーを押しっぱなしにした時に、キー入力を繰り返す間隔のことです。

ゲームやプロジェクトによっては、このディレイ無しに、リアルタイムで現在押されているキーが知りたい場合もあるでしょう。その場合は、ディレイに 0 を指定すれば実現できます。

押されたキーと、この関数の結果の値の対応は、以下となります。

押されたキー inkey$() の結果
以下のいずれか:!"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんぁぃぅぇぉゃゅょっ、。゛゜ 押されたキーの文字。
enter(エンター)キー "Enter"
bs(バックスペース)キー "Backspace"
カーソルキーの「←」 "ArrowLeft"
カーソルキーの「→」 "ArrowRight"
カーソルキーの「↑」 "ArrowUp"
カーソルキーの「↓」 "ArrowDown"

サンプルプログラム

rem inkey$
do
  a$=inkey$()
  if a$<>"" then
    print a$
  end if
loop