Shinobiライブラリ - ペリフェラルデータ関数

pdKbdGetData

キーボードデータの取得

書式

PDS_KEYBOARD *pdKbdGetData( port ) 
Uint32 port 

引数

port   コントロールポート番号

戻り値

キーボードデータ構造体へのポインタ

解説

キーボードペリフェラルから、現在どのキーが押されているかの情報をを取得します。 取得可能な同時に押されているキーの数は、最大6個までです。

引数 port に指定するポート番号は以下のとおりです。

 PDD_PORT_A0   コントロールポートA 
 PDD_PORT_B0   コントロールポートB 
 PDD_PORT_C0   コントロールポートC 
 PDD_PORT_D0   コントロールポートD 

戻り値の値がNULLの場合は、キーボードペリフェラルが接続されていないことを示します。


用例

Sint32 njUserMain(void)
{
PDS_KEYBOARD* kbd;
Sint32 i;

    /* ポートAのキーボードデータを取得 */
    kbd = pdKbdGetData(PDD_PORT_A0);

    /* キーボードが接続されていたら */
    /* キーコードを表示 */
    if (kbd != NULL) {
        for (i = 0; i < 6; i++) {
            njPrintH(NJM_LOCATION(i * 4, 10), kbd->key[i]);
        }
    }
    return NJD_USER_CONTINUE;
}

備考

この関数は、その時点で押されているキーコードを複数取得返すようになっています。 アプリケーションでキー入力を行う場合には、1フレーム(1INT)ごとに毎回データを取得し、 前回との差分によりキーアップ、キーダウン、キーリピートの処理を行う必要があります。

pdKbdGetData
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999