アプリケーションでファンクション キーを使用する際には、どのキーが押されたのかを正確に特定できるようにすると便利です。これを行うには、次のように 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 の内容は不定です。