ユーザー ファンクション キーの有効化および無効化

Adis ファンクション キーはデフォルトでは有効ですが、無効にしたり、ファンクション キーとして使用したりできます。

ユーザー ファンクション キーを使用するには、それらのキーを有効にする必要があります。ユーザー キーを有効にすると、そのキーを押すことで ACCEPT 操作が終了します。そのキーが無効である場合、キーは拒否されてエラーになります。

次の呼び出しを使用すると、ユーザー ファンクション キーを有効または無効にできます。

 call x"AF" using   set-bit-pairs
                    user-key-control 

set-bit-pairs および user-key-control は、プログラムの作業場所節で次のように定義されます。

01 set-bit-pairs          pic 9(2) comp-x value 1.
01 user-key-control.
   03 user-key-setting    pic 9(2) comp-x.
   03 filler              pic x value "1".
   03 first-user-key      pic 9(2) comp-x.
   03 number-of-keys      pic 9(2) comp-x.

詳細は次のとおりです。

user-key-setting
キーを無効にする場合は 0 を設定し、有効にする場合は 1 を設定します。
first-user-key
有効または無効にする最初のキー番号です。
number-of-keys
有効または無効にする次のキー番号です。

ファンクション キーは、別の x"AF" 呼び出しによって明示的に変更されるまで、またはアプリケーションが終了するまで、有効または無効に設定されます。ファンクション キーの有効化または無効化の呼び出しは累積的です。たとえば、F1 ファンクション キーを有効にする x"AF" を呼び出し、F10 を有効にする 2 番目の呼び出しをすると、両方のキーが有効になります。

次のコードでは、Esc キーおよびファンクション キーの F1F10 を有効にしますが、その他のユーザー ファンクション キーは無効になります。

* Enable Escape key 
     move 1 to user-key-setting
     move 0 to first-user-key
     move 1 to number-of-keys
     call x"AF" using set-bit-pairs
        user-key-control
* Disable 126 keys starting from key 1
     move 0 to user-key-setting
     move 1 to first-user-key
     move 126 to number-of-keys
     call x"AF" using set-bit-pairs
        user-key-control.
* Enable F1 and F10.
     move 1 to user-key-setting
* Enable F1.
     move 1 to first-user-key
     move 1 to number-of-keys
     call x"AF" using set-bit-pairs
        user-key-control
* Enable F10
     move 10 to first-user-key
     call x"AF" using set-bit-pairs
        user-key-control