CRT STATUS 句

アプリケーションでファンクション キーを使用する際には、どのキーが押されたのかを正確に特定できるようにすると便利です。これを行うには、次のように CRT STATUS 句をプログラムの特殊名段落に含める必要があります。

 special-names.
     crt status is key-status.

詳細は次のとおりです。

key-status
これは、次の定義を持つプログラムの作業場所節の 3 バイト データ項目です。
01 key-status.
    03 key-type     pic x.
    03 key-code-1   pic 9(2) comp-x.
    03 key-code-2   pic 9(2) comp-x.

ACCEPT 文が実行されると常に、ACCPET の終了方法を示すように key-status が設定されます。key-status の個々のフィールドの正確な使用方法については後述します。ただし、一般的には次のように使用します。

key-type
ACCEPT の終了方法を示します。戻り値は次のとおりです。
0
ACCEPT は正常に終了。
1
ユーザー ファンクション キーによる終了。
2
ADIS キーによる終了。
3
8 ビット データ キーによる終了。
4
16 ビット データ キーによる終了。
5
シフト キーによる終了。
6
ロック キーによる終了。
9
ロック キーによる終了。

これらの値の詳細については、本セクションの後半で解説します。

key-code-1
ACCEPT 操作を終了したキーの番号を示します。この番号の正確な意味は、key-type で返された値に応じて変わります。
key-code-2
key-type および key-code-1 が 0 の場合、key-code-2 には ACCEPT 操作を終了したキーに対する元々のキーボード コードが含まれます。単一のキーではなく、連続した複数のキーを押すことで 1 つの機能を実行するように構成されている場合は、最初に押したキーに対するコードだけが返されます。

key-type が 4 の場合、key-code-2 には ACCPET 操作を終了した文字の 2 番目のバイトが含まれます。

それ以外の場合は、key-code-2 の内容は不定です。