各種入力

XCTRLSTYLE 最大接続数,操作スタイル[,モーションセンサー使用フラグ,IRセンサー使用フラグ[,接続画面表示フラグ]]

コントローラーの最大接続数、操作スタイル、使用機能を設定する

・設定した操作スタイルによって、接続可能なコントローラーの種類、想定するJoy-Conの持ち方、取得できるボタン・スティックの種類、使用できるコントローラー機能が変わる。
・接続確認画面の操作結果はRESULT関数で確認できる(1:成功, -1:キャンセル)。
・サブプログラムからの呼び出しは無視される。

引数

最大接続数

接続したい最大のコントローラー数を指定する

・操作スタイルに応じて指定可能な値の範囲が異なる。

フル 1~2
2本持ち 1~2
横持ち 2~4
縦持ち 2~4

操作スタイル

設定する操作スタイル:0~3

番号 スタイル名 使用可能なコントローラー
0 フル 携帯モード、Joy-Con2本持ち、Proコントローラー
1 2本持ち Joy-Con2本持ち
2 横持ち Joy-Con(L)/(R)横持ち、Proコントローラー
3 縦持ち Joy-Con(L)/(R)縦持ち

モーションセンサー使用フラグ

モーションセンサー(加速度センサー、ジャイロセンサー)を使用したい場合1を、使用しない場合は0を指定する
・省略時は0。

IRセンサー使用フラグ

モーションIRカメラを使用したい場合1を、使用しない場合は0を指定する
・省略時は0。
・モーションIRカメラを使用する場合は操作スタイルを1(2本持ち)にする必要がある。

接続画面表示フラグ

コントローラー接続画面を必ず表示するかどうかを指定する
・1を指定すると、コントローラー接続画面が必ず表示される。
・0を指定すると、設定が変わった時だけコントローラー接続画面が表示される。
・省略時は0。

XCTRLSTYLE 0

コントローラーの操作スタイルを起動時状態にリセットする

・0だけを指定すると、コントローラーの操作スタイルを起動時状態にリセットする。
・XCTRLSTYLE 1,0,0,0と指定するのと同じ。
・接続確認画面の操作結果はRESULT関数で確認できる(1:成功, -1:キャンセル)。
・サブプログラムからの呼び出しは無視される。

引数

0(ゼロ)

数値のゼロのみ指定
・異なる値を指定するとエラー。

XCTRLSTYLE OUT 最大接続数,操作スタイル

現在設定されているコントローラー最大接続数と操作スタイルを取得する

返値

最大接続数

接続可能な最大コントローラー数

操作スタイル

現在の操作スタイル

0 フル
1 2本持ち
2 横持ち
3 縦持ち

CONTROLLER(コントローラーID)

コントローラーの種類や接続状況を調べる

引数

コントローラーID

0 デフォルトコントローラー
1~4 通常コントローラー

・通常コントローラーのIDは接続したコントローラーのプレイヤーランプの点灯数に対応する。
・携帯モードコントローラーが使える場合、IDは常に1。
・デフォルトコントローラーは全接続コントローラーの入力を合成し、現在設定されている操作スタイルに関係なく、常に携帯モードコントローラー相当の入力として扱う。
・コントローラーID1~4を使用する場合は事前にXCTRLSTYLE命令で使用したい操作スタイルを設定しておくことを強く推奨する。

返値

0 未接続
1 携帯モードコントローラー
2 Proコントローラー
3 Joy-Con 2本持ち
4 Joy-Con(L)
5 Joy-Con(R)

CONTROLLER コントローラーID OUT コントローラー種類,メイン色,サブ色
CONTROLLER コントローラーID OUT コントローラー種類,左メイン色,左サブ色,右メイン色,右サブ色

コントローラーの接続状況や種類を調べる

引数

コントローラーID

0 デフォルトコントローラー
1~4 通常コントローラー

・通常コントローラーのIDは接続したコントローラーのプレイヤーランプの点灯数に対応する。
・携帯モードコントローラーのIDは常に1。
・デフォルトコントローラーは全接続コントローラーの入力を合成し、現在設定されている操作スタイルに関係なく、常に携帯モードコントローラー相当の入力として扱う。
・コントローラーID1~4を使用する場合は事前にXCTRLSTYLE命令で使用したい操作スタイルを設定しておくことを強く推奨する。

返値

コントローラー種類

0 未接続
1 携帯モードコントローラー
2 Proコントローラー
3 Joy-Con 2本持ち
4 Joy-Con(L)
5 Joy-Con(R)

メイン色,サブ色

コントローラーの色をメイン色とサブ色の2つの色コードで返す
・取得した色コードは他の描画命令の色コードとして使用可能。
・コントローラーが未接続の場合はメイン、サブ共に黒が返る。

左メイン色, 左サブ色, 右メイン色、右サブ色

2本持ちや携帯モードの場合、左右のコントローラーの色を別々に取得できる
・横持ちや縦持ちの場合、右メイン色と右サブ色には黒が返る。

BUTTON(コントローラーID,ボタンID[,機能ID])

コントローラーの特定ボタンの操作状態を取得する

引数

コントローラーID

調べたいコントローラーのID

0 デフォルトコントローラー
1~4 通常コントローラー

・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

ボタンID

調べたいボタンのID

ボタンIDとボタンとの対応は次の通り
・ボタンIDとボタンとの対応は操作スタイル毎に異なる。

ボタンID フル、2本持ち 縦持ち 横持ち
#B_RUP Xボタン 上ボタン 上ボタン
#B_RDOWN Bボタン 下ボタン 下ボタン
#B_RLEFT Yボタン 左ボタン 左ボタン
#B_RRIGHT Aボタン 右ボタン 右ボタン
#B_LUP 上ボタン
#B_LDOWN 下ボタン
#B_LLEFT 左ボタン
#B_LRIGHT 右ボタン
#B_L1
#B_SL
L SL SL
#B_R1
#B_SR
R SR SR
#B_L2
#B_S1
ZL LまたはR LまたはR
#B_R2
#B_S2
ZR ZLまたはZR ZLまたはZR
#B_LSTICK Lスティック押し込み スティック押し込み スティック押し込み
#B_RSTICK Rスティック押し込み
#B_RANY A,B,X,Yボタンのいずれか
#B_LANY 上,下,左,右ボタンのいずれか
#B_ANY スティック押し込み以外のいずれかのボタン

・方向ボタンの上下左右は、コントローラーを持った方向に対するボタン位置。縦持ちの「上」は横持ちの「左」となる。

機能ID

知りたい状態の種類
・省略時は0。

0 ボタンが押されている
1 ボタンを押した瞬間(BREPEAT対応あり)
2 ボタンを押した瞬間(BREPEAT対応なし)
3 ボタンを離した瞬間

返値

指定ボタンが指定機能IDの条件を満たしていれば1、そうでなければ0

BUTTON(コントローラーID)
BUTTON(コントローラーID,-1[,機能ID])

コントローラの全ボタン状態をまとめて取得する

・1個のボタンの状態だけ取得したい場合は、もう一つのBUTTON関数のヘルプを参照。

引数

コントローラーID

調べたいコントローラーのID

0 デフォルトコントローラー
1~4 通常コントローラー

・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

-1

ボタンIDに-1を設定すると、全ボタン状態をまとめて取得するようになる
・コントローラーIDだけ指定した場合も-1を指定した事になる。

機能ID

知りたい状態の種類
・省略時は0。

0 ボタンが押されている
1 ボタンを押した瞬間(BREPEAT対応あり)
2 ボタンを押した瞬間(BREPEAT対応なし)
3 ボタンを離した瞬間

返値

指定したコントローラーのボタン状態がビット毎にセットされて返ってくる
ボタンが押されているか調べるには、次のようなプログラムを書けば良い


'ボタンに対応するビットをONにした値を作るには、1をボタンIDだけ左シフト(<<)すれば良い
'たとえば#B_RLEFTが押されているか調べたい場合 
BTNBIT_RLEFT = 1 << #B_RLEFT
'ビット値を作ったら、BUTTON関数の結果とANDを求めて、結果が0以外なら押されている 
IF (BUTTON(0) AND BTNBIT_RLEFT) != 0 THEN PRINT "ひだりボタン" 

BREPEAT ボタンID,リピート開始時間,リピート間隔

ボタンのリピート速度を設定する

・BUTTON関数の機能IDで1を指定した時の結果に影響する。
・全接続コントローラーに影響する。

引数

ボタンID

リピート速度を設定したいボタンのID
・ボタンIDの詳細はBUTTON関数のヘルプを参照。

リピート開始時間

ボタンが押され始めてから、リピートが開始するまでのフレームカウント

リピート間隔

リピートが発生してから次のリピートが発生するまでのフレームカウント

BREPEAT ボタンID OUT リピート開始時間,リピート間隔

ボタンのリピート速度を取得する

引数

ボタンID

リピート速度を取得したいボタンのID
・ボタンIDの詳細はBUTTON関数のヘルプを参照。

返値

リピート開始時間

ボタンが押され始めてから、リピートが開始するまでのフレームカウント

リピート間隔

リピートが発生してから次のリピートが発生するまでのフレームカウント

STICK コントローラーID[,スティックID] OUT X,Y

コントローラーのスティック状態を調べる

引数

コントローラーID

調べたいコントローラーのID

0 デフォルトコントローラー
1~4 通常コントローラー

・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

スティックID

0 Lスティック
1 Rスティック

・省略時は0。
・スティックが1本しかない時に1を指定してもエラーにはならず、X,Y共に0が返ってくる。

返値

X,Y

スティックの傾き情報

・横方向(X)には左<->右で-1.0<->1.0。
・縦方向(Y)には上<->下で-1.0<->1.0。
・操作をしていない時にはX,Y共に0が返る。

ACCEL コントローラーID[,センサーID] OUT X,Y,Z

加速度センサーの情報を取得する

・XCTRLSTYLEでモーションセンサーを有効にしていない場合は正常な値が返らない。

引数

コントローラーID

調べたいコントローラーのID:1~4
・コントローラーID 0 は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

センサーID

調べたいセンサーのID:0~1
・2本持ちの場合のみ、ID 1で意味のある値が返ってくる。
・省略時は0。

返値

X,Y,Z

加速度センサーの値
・単位は重力加速度。
・Xは方向キー左右方向(右ボタン方向が正)
・Yは方向キー上下方向(下ボタン方向が正)
・Zはコントローラー表面に対して垂直方向(上向きが正)

GYROV コントローラーID[,センサーID] OUT X,Y,Z

ジャイロセンサーの角速度を取得する

・XCTRLSTYLEでモーションセンサーを有効にしていない場合は正常な値が返らない。

引数

コントローラーID

調べたいコントローラーのID:1~4
・コントローラーID 0 は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

センサーID

調べたいセンサーのID:0~1
・ID 1は2本持ちの場合のみ有効。
・省略時は0。

返値

X,Y,Z

各軸まわりのジャイロセンサーの角速度
・単位はラジアン/秒。
・Xはピッチ。
・Yはロール。
・Zはヨー。
・それぞれ正の向きに対して右ネジの回転する向きが正の値となる。

GYROA コントローラーID[,センサーID] OUT X,Y,Z

ジャイロセンサーの角度を取得する

・XCTRLSTYLEでモーションセンサーを有効にしていない場合は全て0が返る。
・コントローラーを激しく動かしたり、長時間使用を続けると誤差が蓄積し正しい値を返さなくなるため、必要なタイミングでGYROSYNC命令を呼び出し角度をリセットする必要がある。

引数

コントローラーID

調べたいコントローラーのID:1~4
・コントローラーID 0 は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

センサーID

調べたいセンサーのID:0~1
・ID 1は2本持ちの場合のみ有効。
・省略時は0。

返値

X,Y,Z

各軸まわりのジャイロセンサーの角度
・単位はラジアン。
・Xはピッチ。
・Yはロール。
・Zはヨー。
・それぞれ正の向きに対して右ネジの回転する向きが正の値となる。

GYROSYNC コントローラーID[,センサーID]

ジャイロセンサーの角度をリセットする

・命令を呼び出した直後のコントローラー姿勢がX:0,Y:0,Z:0となる。
・GYROSYNC命令を使用してから実際のリセットが行われるまで最大で1Vカウントの時間が必要。

引数

コントローラーID

リセットしたいコントローラーのID:1~4
・コントローラーID 0 は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

センサーID

リセットしたいセンサーのID:0~1
・2本持ち以外の場合、1を指定しても無視される。
・省略時は0。

VIBRATE コントローラID[,左右指定],振動パターン番号

コントローラーを振動させる

・サブプログラムからの呼び出しは無視される。

引数

コントローラID

振動させたいコントローラID:1~4
・コントローラーID0は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

左右指定

振動させたいコントローラの左右指定

0
1

・省略時は左右両方が振動する。
・縦持ち、横持ちの場合、1を指定しても無視される。

振動パターン番号

プリセットの振動パターン番号:0~62
・0を指定すると振動が停止する。

VIBRATE 1,40
VIBRATE 1,0,1:VIBRATE 1,1,3

VIBRATE コントローラID[,左右指定],低帯域周波数,低帯域振幅,高帯域周波数,高帯域振幅

周波数と振幅を指定してコントローラーを振動させる

・サブプログラムからの呼び出しは無視される。

引数

コントローラID

振動させたいコントローラID:1~4
・コントローラーID0は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

左右指定

振動させたいコントローラの左右指定

0
1

・省略時は左右両方が振動する。
・縦持ち、横持ちの場合、1を指定しても無視される。

低帯域周波数

振動周波数 (Hz)
・0を指定すると振動が停止する。

低帯域振幅

振動の振幅:-128.0~127.0
・0を指定すると振動が停止する。

高帯域周波数

振動周波数 (Hz)
・0を指定すると振動が停止する。

高帯域振幅

振動の振幅:-128.0~127.0
・0を指定すると振動が停止する。

VIBRATE 1,440,127,220,64

VIBRATE(コントローラID[,左右指定])

コントローラの振動状態を取得する

引数

コントローラID

振動状態を取得したいコントローラID:1~4
・コントローラーID0は指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

左右指定

左右どちらの振動状態を取得するかの指定

0
1

・省略時は左右の状態を合成した値が返る。
・縦持ち横持ちの場合、1を指定すると常に0が返る。

返値

・振動している場合は、振動パターン番号または周波数・振幅を直接指定している場合には65535。
・振動していない場合は0。
・縦持ち横持ち以外で左右指定を省略した場合、右状態値*65536+左状態値が返る。
・縦持ち横持ちで左右指定を省略した場合は左状態値のみ返る。

PRINT VIBRATE(1,0)

VIBRATE

全コントローラーの振動を停止する

・サブプログラムからの呼び出しは無視される。

VIBRATE

TOUCH [タッチID[,座標系変換フラグ]] OUT タッチ時間,X,Y[,タッチ面積]

タッチパネルのタッチ情報を返す

・TVモードではTOUCH関数は有効な値を返さない。

引数

タッチID

マルチタッチで、タッチを開始したポイント順に、0,1,2,3…と9まで指定できる
・省略時は0。

座標系変換フラグ

0を指定すると、タッチ座標が表示されているBASIC画面内の座標に変換され、画面外のタッチはタッチされていない物として扱われる
1を指定すると、BASIC画面に関係なく液晶画面全体でのタッチ座標を取得する

・省略時は0。

返値

タッチ時間

タッチを開始してから現在までのフレームカウント
・タッチしていない場合にはゼロが返る。

X,Y

タッチされている場合の座標
・タッチされていない場合は無意味な値が返る。

面積

タッチされている場合のタッチ面積
・タッチされていない場合には無意味な値が返る。

MOUSE [座標系変換フラグ] OUT X,Y[,ホイール]

マウスの座標情報を返す

引数

座標系変換フラグ

0を指定すると、マウス座標が表示されているBASIC画面の座標に変換される
1を指定すると、BASIC画面に関係なく液晶画面全体でのマウス座標を取得する

返値

X,Y

現在のマウス座標

ホイール

現在のホイール値

MOUSE X,Y [,座標系変換フラグ]

マウス座標を設定する

引数

X,Y

設定するマウス座標

座標系変換フラグ

0を指定すると、X,YをBASIC画面の座標として扱う
1を指定すると、X,Yを液晶画面全体での座標として扱う

・省略時は0。

MBUTTON()

マウスの全ボタン状態をまとめて取得する

・1個のボタンの状態だけ取得したい場合は、もう一つのMBUTTONのヘルプを参照。

引数

返値

マウスのボタン状態がビット毎にセットされて返ってくる

MBUTTON(ボタンID[,機能ID])

マウスの特定ボタンの操作状態を取得する

引数

ボタンID

調べたいボタンのID

0 左ボタン
1 右ボタン
2 中央ボタン
3 ボタン4
4 ボタン5

機能ID

知りたい状態の種類

0 ボタンが押されている
1 (使用不可)
2 ボタンを押した瞬間
3 ボタンを離した瞬間

・省略時は0。

返値

指定ボタンが指定機能IDの条件を満たしていれば1、そうでなければ0

IRSTART コントローラーID,IR認識タイプ

IRカメラの使用を開始する

・XCTRLSTYLEであらかじめIR使用フラグをONにしておく必要がある。
・サブプログラムからの呼び出しは無視される。

引数

コントローラーID

IRカメラを使用するコントローラーのID:1~2
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

IR認識タイプ

IRカメラの認識方法を指定する

0 クラスタリングモード
1 撮影モード
2 モーメントモード

・クラスタリングモードは明るい領域を矩形として認識する。同時に最大16個の領域を認識できる。
・撮影モードはIRカメラの撮像画像を画像として取得する。
・撮影モードで撮影したデータはIRSPRITEで表示する事ができる。データをBASICプログラム内に取り出す事はできない。
・撮影モード起動中は画面キャプチャが禁止される。
・モーメントモードは撮像範囲を8x6の小領域に分割し、それぞれの認識情報を取得する。

IRSTART コントローラーID,0,[照明タイプ],[ゲイン],[露出],[最小クラスタ],[最大クラスタ],[最低輝度]

IRカメラの使用を開始する(クラスタリングモード詳細パラメーター設定型)

・XCTRLSTYLEであらかじめIR使用フラグをONにしておく必要がある。
・サブプログラムからの呼び出しは無視される。

引数

コントローラーID

IRカメラを使用するコントローラーのID:1~2
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

0

クラスタリングモードとするために0を指定する

照明タイプ

IRカメラの照明を指定する

0 全て(遠+近)
1 遠距離用のみ
2 近距離用のみ
3 照明OFF

・省略時は0。

ゲイン

IRカメラの撮影ゲイン:1~16

・省略時は2。

露出

IRカメラの撮影露出時間:7~600

・省略時は200。

最小クラスタ

クラスタとして認識する最小の面積(ピクセル数):0~76800
・省略時は3。

最大クラスタ

クラスタとして認識する最大の面積(ピクセル数):0~76800
・省略時は76800。

最低輝度

クラスタとして認識する最低の輝度:0~255
・省略時は150。

IRSTART コントローラーID,1,[照明タイプ],[ゲイン],[露出],[イメージサイズ]

IRカメラの使用を開始する(撮影モード詳細パラメーター設定型)

・XCTRLSTYLEであらかじめIR使用フラグをONにしておく必要がある。
・撮影モードで撮影したデータはIRSPRITEで表示する事ができる。データをBASICプログラム内に取り出す事はできない。
・撮影モード起動中は画面キャプチャが禁止される。
・サブプログラムからの呼び出しは無視される。

引数

コントローラーID

IRカメラを使用するコントローラーのID:1
・撮影モードでは1以外指定できない。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

IR認識タイプ

撮影モードとするために必ず1を指定する

照明タイプ

IRカメラの照明を指定する

0 全て(遠+近)
1 遠距離用のみ
2 近距離用のみ
3 照明OFF

・省略時は0。

ゲイン

IRカメラの撮影ゲイン:1~16

・省略時は8。

露出

IRカメラの撮影露出時間:7~600

・省略時は300。

イメージサイズ

撮影画像のサイズを指定する

0 320×240
1 160×120
2 80×60
3 40×30
4 20×15

・イメージサイズが大きいほど転送に時間がかかる。320×240で最短4秒、以下サイズが小さくなるごとに4倍速くなる。
・省略時は2。

IRSTART コントローラーID,2,[照明タイプ],[ゲイン],[露出]

IRカメラの使用を開始する(モーメントモード詳細パラメーター設定型)

・XCTRLSTYLEであらかじめIR使用フラグをONにしておく必要がある。
・サブプログラムからの呼び出しは無視される。

引数

コントローラーID

IRカメラを使用するコントローラーのID:1~2
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

2

モーメントモードとするために2を指定する

照明タイプ

IRカメラの照明を指定する

0 全て(遠+近)
1 遠距離用のみ
2 近距離用のみ
3 照明OFF

・省略時は0。

ゲイン

IRカメラの撮影ゲイン:1~16

・省略時は8。

露出

IRカメラの撮影露出時間:7~600

・省略時は300。

IRSTOP コントローラーID

IRカメラの使用を停止する

・サブプログラムからの呼び出しは無視される。

引数

コントローラーID

IRカメラの使用を停止するコントローラーのID:1~2
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

IRSTATE(コントローラーID)

IRカメラの開始状況を取得する

引数

コントローラーID

IRカメラの状況を取得するコントローラーのID:1~2
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

返値

IRカメラの状況

0 使用していない
1 停止中
2 クラスタリング起動中
3 撮影モード起動中
4 モーメントモード起動中

IRREAD コントローラーID OUT サンプリング番号,ノイズレベル,データ数,データ配列

IRカメラの認識結果を読み取る

・IRSTARTでIRカメラの使用を開始しておく必要がある。

引数

コントローラーID

IRカメラの認識結果を読み取るコントローラーのID:1~2
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

返値

サンプリング番号

新しいデータを読み取るたびに1増えていく番号
・同じ番号を連続して取得した場合は、新しいデータがまだ受信できていない事を示す。

ノイズレベル

認識中のノイズレベル
・0~2の値が返り、値が小さいほどノイズが少なく、正確な値が取れている事を示す。

データ数

データ配列に含まれるデータの数
・クラスタリングモードの場合、認識したクラスタの数を示す。配列には各クラスタの情報が入る。
・モーメントモードの場合常に48。配列には撮影領域内を横8×縦6に分割した各ブロックの情報が入る。

データ配列

読み取った認識結果を格納した配列
・幅8の2次元配列。
・高さは0~データ数-1までに意味のある値が入っている。
・座標の範囲はX:(0~320)Y:(0~240)。
・クラスタリングでのデータ形式は次の通り。

0 クラスタX座標
1 クラスタY座標
2 クラスタ幅
3 クラスタ高さ
4 クラスタのピクセル数
5 クラスタの重心座標X
6 クラスタの重心座標Y
7 クラスタの平均輝度

・モーメントモードでのデータ形式は次の通り。

0 ブロックの平均輝度
1 ブロックの重心座標X
2 ブロックの重心座標Y

IRSPRITE コントローラーID,スプライトID

撮影モードで取得したモーションIRカメラ画像をスプライトに貼り付ける

・指定したスプライトには撮影画像がリアルタイムで反映され続ける。
・IRSPRITEで作成したスプライトは通常のスプライトと同様に扱う事ができる。ただしSPPAGEを設定した場合元に戻す事はできない。
・撮影モードの撮影データをBASICデータとして取得する事はできない。
・サブプログラムからの呼び出しは無視される。

引数

コントローラーID

スプライトと結びつけるIRカメラを持ったコントローラーのID:1
・IRSPRITEでは1のみ指定可能。
・コントローラーIDの詳細はCONTROLLER関数のヘルプを参照。

スプライトID

撮影画像と結びつけるスプライトのID:0~4095

KEYBOARD(スキャンコード[,機能ID])
KEYBOARD スキャンコード[,機能ID] OUT 結果,モディファイヤキー情報

USBキーボードの入力情報を取得する
・USBキーボードが接続されていない時の返値はすべてゼロ。

引数

スキャンコード

調べたいキーのUSB Usage ID:0~255

機能ID

知りたい状態の種類。

0 キーが押されている
1 使用不可(指定すると結果としてゼロが返る)
2 キーを押した瞬間
3 キーを離した瞬間

・省略時は0。

返値

結果

キーが機能IDで指定した状態であれば1、なければ0

モディファイヤキー情報

モディファイヤキーの押下情報をビットで返す

bit0 Windowsキー
bit1 Shiftキー
bit2 Ctrlキー
bit3 Altキー