ACCEPT を終了するシフト キーの有効化および無効化

デフォルトでは、ACCEPT 操作中はすべてのシフト キーが無効になっているか、x"AF" 呼び出しでキーを取得します。ただし、このルーチンを使用して動的にシフト キーを有効化または無効化できます。

次の呼び出しで、シフト キーを有効化または無効化します。

call x"AF" using    adis-function
                    adis-parameter 

adis-function および adis-parameter は、プログラムの作業場所節で次のように定義します。

  01 adis-function              pic 9(2) comp-x.
  01 adis-parameter.
     03 shift-key-setting       pic 9(2) comp-x.
     03 filler                  pic x value "4".
     03 first-shift-key         pic 9(2) comp-x.
     03 number-of-shift-keys    pic 9(2) comp-x.
詳細は次のとおりです。
adis-function
1 です。
shift-key-setting
影響を受けるキーの動作を、次のとおり定義します。
0
キーは無効です。キーを押しても無視されます。
1
キーは有効です。
first-shift-key
影響を受ける最初のキー番号です。有効にするイベントには、次の番号が付いています。
0
Alt キーが押されている
1
Alt キーが放されている
2
Ctrl キーが押されている
3
Ctrl キーが放されている
4
左 Shift キーが押されている
5
左 Shift キーが放されている
6
右 Shift キーが押されている
7
右 Shift キーが放されている
number-of-shift-keys
影響を受ける次のキー番号です。

次のコードは Ctrl を有効にして、ACCEPT 操作を終了してから ACCEPT 操作が Ctrl によって終了したかどうかを確認できるようにします。

* Enable Ctrl
      move 1 to shift-key-setting
      move 2 to first-shift-key
      move 1 to number-of-shift-keys
      move 1 to adis-function
      call x"AF" using adis-function
                       adis-parameter
      accept data-item at 0101
      if key-type = "5"
          evaluate key-code-1
           when 2     display "Ctrl pressed"
           when other display "Other shift key pressed"
          end-evaluate 
      end-if.