キーボード上のキーには、データとして意味を持つキーと、カーソルを移動したりシフト状態を変更するなどの項目を制御するキーとがあります。
ここでは項目を制御する、項目制御キーについて説明します。
項目制御キーには次のものがあります。
これらのキーはデータとは扱われず、項目内もしくは項目間の制御を行うために使用されます。
カーソル移動キーには、【→】キー、【←】キー、【↑】キーおよび【↓】キーの4種類があります。これらのキーは、カーソルを項目内または項目間で行または文字単位で指定した方向に移動されます。また、カーソル移動キーによる項目間移動は、画面定義体のカーソル移動順序設定には影響をうけません。
カーソルが項目内の右端以外にあるときに【→】キーを押すと、カーソルは項目内を右方向に移動する。
カーソルが項目内の右端にあるときに【→】キーを押すと、以下の位置にカーソルが移動する。
- 入力対象の項目群内でカーソルのある項目と同一行にあり、かつ、右方向で最も近い項目の基準位置。
- 右方向に項目がない場合、同一行の最も左の項目の基準位置。
カーソルが矩形項目内の右端にあるときに【→】キーを押すと、カーソルが最下行以外の行にあるときは1行下の左端に移動する。カーソルが最下行にあるときは、入力対象の項目群内でカーソルのある項目と同一行にあり、かつ、右方向で最も近い項目の基準位置にカーソルは移動する。このとき、右方向に項目がない場合、同一行の最も左の項目の基準位置にカーソルは移動する。
カーソルが項目内の左端にあるときに【←】キーを押すと、以下の位置にカーソルが移動する。
- 入力対象の項目群内でカーソルのある項目と同一行にあり、かつ、左方向で最も近い項目の基準位置。
- 左方向に項目がない場合、同一行の最も右の項目の基準位置。
カーソルが項目内の左端以外にあるときに【←】キーを押すと、カーソルは項目内を左方向に移動する。
カーソルが矩形項目内の左端にあるときに【←】キーを押すと、カーソルが一行目以外の行にあるときは1行上の右端に移動する。カーソルが一行目にあるときは、入力対象の項目群内でカーソルのある項目と同一行にあり、かつ、左方向で最も近い項目の基準位置にカーソルは移動する。このとき、左方向に項目がない場合、同一行の最も右の項目の基準位置にカーソルは移動する。
【↑】キーを押すと、入力対象の項目群内でカーソルのある位置から見て、上方向の最も近い行内の最も近い項目の基準位置に移動する。同じ行内に同距離の項目が存在した場合には、左側の項目に移動する。このとき、上方向に項目がない場合、最も下の項目の基準位置にカーソルが移動する。
カーソルが矩形項目の一行目以外の行にあるときに【↑】キーを押すと、上の行に移動する。カーソルが矩形項目内の一行目にあるときには、入力対象の項目群内でカーソルのある位置から見て、上方向の最も近い行内の最も近い項目の基準位置に移動する。同じ行内に同距離の項目が存在した場合には、左側の項目に移動する。このとき、上方向に項目がない場合、最も下の項目の基準位置にカーソルが移動する。
【↓】キーを押すと、入力対象の項目群内でカーソルのある位置から見て、下方向の最も近い行内の最も近い項目の基準位置に移動する。同じ行内に同距離の項目が存在した場合は、右側の項目に移動する。このとき、下方向に項目がない場合、最も上の項目の基準位置にカーソルが移動する。
カーソルが矩形項目の最終行以外の行にあるときに【↓】キーを押すと、下の行に移動する。カーソルが矩形項目内の最終行にあるときには、入力対象の項目群内でカーソルのある位置から見て、下方向の最も近い行内の最も近い項目の基準位置に移動する。同じ行内に同距離の項目が存在した場合は、右側の項目に移動する。このとき、下方向に項目がない場合、最も上の項目の基準位置にカーソルが移動する。
入力対象の項目群内に選択群がある場合のカーソル移動キーの動作を次に説明します。ただし、ウィンドウ情報ファイルのNOMVSLCT(選択項目へのカーソル移動抑止の有無)を「しない」に指定していた場合の動作です。「する」を指定した場合は、カーソルが、キー操作によって選択項目には移動しなくなります。
選択項目でない項目から択一選択群またはコマンド選択群に移動する場合、以下の位置にカーソルが移動する。
- 選択状態の項目が存在しない場合、選択群内の先頭の項目。
- 選択状態の項目が存在する場合、選択状態の項目。
選択項目でない項目から複数選択群にカーソルを移動する場合、選択状態の項目が存在するかどうかにかかわらず、選択群内の先頭の項目にカーソルを移動する。
選択項目でない項目から選択群内の先頭項目へのカーソル移動、および選択群内でのカーソルの移動について以下に示します。
なお、選択群内にカーソルがある場合、【↑】キーおよび【↓】キーにより、カーソルは選択群内を上方向または下方向に移動します。選択群から次の項目へのカーソル移動は、【次項目移動】キーで行います。
シフト制御キーには【カナ】キー、【変換】キー、【無変換】キー、【漢字】キー、および【CAPS LOCK】キーなどがあります。シフト状態の切り替えはこれらのキー操作によって行います。これらのキーによる動作は、キーボードの違いや、日本語入力システムなどによって違います。詳しくは、お使いのシステムの仕様を確認してください。
【INS】キーは、カーソルが入力対象項目内にあるときに押すと有効となります。
【INS】キーを押すと挿入モードの切り替えを行います。挿入モードになるとインディケータに「挿入」の文字を表示します。入力を完了するか、再度【INS】キーを押すことにより挿入モードは解除します。左詰め項目での挿入動作と、右詰め項目での挿入動作をそれぞれ下図に示します。なお、網がけはカーソル位置を表しています。
左詰め項目の挿入モードでの文字の挿入では、カーソル位置の文字も含めて、カーソル位置より右側にある文字は挿入文字の分だけ右にシフトします。カーソルもそれに合わせて移動します。日本語入力で、項目の右端に挿入文字分の空きがなければ、挿入可能な文字数分だけ確定した文字を挿入します。
右詰め項目の挿入モードでの文字の挿入では、カーソル位置の文字を含めて、カーソル位置より左側にある文字は挿入文字の分だけ左にシフトします。カーソルは移動しません。
【INS】キーを押して挿入モードを解除すると、カーソル位置の文字の上書きモードになります。このとき、カーソルは移動しません。
なお、ウィンドウ情報ファイルのSETOVRMD(上書きモード強制変更の有無)を「する」に指定すると、入力開始時、および項目移動時に上書きモードに設定します。
日本語英数字混在項目の挿入モードの場合、泣き別れが発生する場合があります。日本語英数字混在項目の挿入モード時の動作例を下図に示します。
【DEL】キーは、カーソルが入力対象項目内にあるときに押すと有効となります。
【DEL】キーを押すと、カーソル位置はそのままで、カーソル位置の文字を削除します。このとき、左詰め項目であればカーソル位置よりも右側にある文字はすべて1文字分左にシフトします。また、右詰め項目であればカーソル位置よりも左側にある文字はすべて1文字分右にシフトします。それぞれ空きとなる文字位置には空白を表示します。
矩形の日本語英数字混在項目で【DEL】キーを使用すると、泣き別れが発生する場合があります。矩形の日本語英数字混在項目の【DEL】キーの動作例を下図に示します。
【BS】キーは、カーソルが入力対象項目内にあるときに押すと有効となります。
【BS】キーは左詰め項目で有効であり、右詰め項目では無視します。【BS】キーを左詰め項目で押すと、カーソルが1文字分左に移動し、移動後のカーソル位置の文字を削除します。
カーソル以降の文字はすべて1文字分左にシフトし、右端には空白を表示します。また、左詰め項目の先頭位置で【BS】キーを押すと、カーソルは直前の入力対象項目の基準位置に移動します。
矩形の日本語英数字混在項目で【BS】キーを使用すると、泣き別れが発生する場合があります。矩形の日本語英数字混在項目の【BS】キーの動作例を下図に示します。
【項目脱出】キーとは、入力対象の入出力項目からカーソルを脱出させる場合に使用します。
項目脱出キーを押したときの画面表示および入力動作は次のようになります。
左詰め項目で、ウィンドウ情報ファイルのENTERASE(【項目脱出】キーでのデータ削除の有無)で「する」を指定する。この場合、カーソル位置の文字を含めて、カーソル位置より右側の内容を消去する。
右詰め項目で、ウィンドウ情報ファイルのENTERASE(【項目脱出】キーでのデータ削除の有無)で「する」を指定する。この場合、カーソル位置の文字は含まず、カーソル位置より右側の内容を消去する。
数字項目で、ウィンドウ情報ファイルのRSHIFT(右寄せ入力の有無 符号なし)もしくはRSHIFTS(右寄せ入力の有無 符号付き)で「する」を指定する。この場合、データは右寄せして表示する。
定義体に自動入力を指定している場合、また最終項目の場合、入力が完了する。
定義体に自動入力を指定せず、最終項目でもない場合、次の項目にカーソルが移動する。
【マイナス入力】キーとは、入力対象の符号付きの入出力項目からカーソルを脱出させる場合に使用します。また、脱出の際にその項目の符号を-にします。符号を-にする動作以外は、【項目脱出】キーの動作と同じです。
【マイナス入力】キーが入力できるのは、符号付き数字項目だけであり、符号なし入出力項目で入力しても無効となり、インヒビット音鳴動します。
ウィンドウ情報ファイルのMINUSENTER(【マイナス入力】キーの有無)を「する」に指定することで、利用できるようになります。
【マイナス入力】キーを押したときの画面表示および入力動作は次のようになります。
左詰め項目で、ウィンドウ情報ファイルのENTERASE(【項目脱出】キーでのデータ削除の有無)で「する」を指定する。この場合、カーソル位置の文字を含めて、カーソル位置より右側の内容を消去する。
右詰め項目で、ウィンドウ情報ファイルのENTERASE(【項目脱出】キーでのデータ削除の有無)で「する」を指定する。この場合、カーソル位置の文字は含まず、カーソル位置より右側の内容を消去する。
数字項目で、ウィンドウ情報ファイルのRSHIFTS(右寄せ入力の有無 符号付き)で「する」を指定する。この場合、データは右寄せして表示する。
定義体に自動入力を指定している場合、また最終項目の場合、入力が完了する。
定義体に自動入力を指定せず、最終項目でもない場合、次の項目にカーソルが移動する。
項目指向キーとは項目間のカーソルを制御するキーであり、【次項目移動】キーのほかに【前項目移動】キー、【改行】キーおよび【HOME】キーがあります。【次項目移動】キー、【前項目移動】キーおよび【改行】キーは、任意のキーに割り付けることができます。詳細は、KEYDEF /TAB/(【次項目移動】キー割り付け)、KEYDEF /BKTAB/(【前項目移動】キー割り付け)およびKEYDEF /NEWLINE/(【改行】キー割り付け)を参照してください。
【次項目移動】キーを押すと、カーソルは次の入力対象項目の基準位置に移動します。ただし、画面定義体にカーソル移動順序設定を指定している場合、次の入力対象項目は画面定義体の指定によって決まります。カーソルを最終項目に表示している場合は、先頭の入力対象項目の基準位置に移動します。また、選択項目群内の選択項目にカーソルを表示している場合、選択群を脱出し、次の入力対象項目にカーソルは移動します。この場合の次の入力対象項目は、脱出した選択群の先頭に位置する項目を基準として検索します。
ただし、右詰め項目で、基準位置以外にカーソルを表示していた場合、【次項目移動】キーを押すことによりカーソルは項目内の基準位置に移動します。
【前項目移動】キーを押すと、カーソルは直前の入力対象項目の基準位置に移動します。ただし、画面定義体にカーソル移動順序設定を指定している場合、直前の入力対象項目は画面定義体の指定によって決まります。項目群の先頭の入力対象項目にカーソルを表示している場合は、最終の入力対象項目の基準位置に移動します。また、選択項目群内の選択項目にカーソルを表示している場合、選択群を脱出し、直前の入力対象項目にカーソルは移動します。
ただし、左詰め項目で、基準位置以外にカーソルを表示していた場合、【前項目移動】キーを押すことによりカーソルは項目内の基準位置に移動します。
【改行】キーを押すと、カーソルは次の行以降の最初の入力対象項目の基準位置に移動します。項目群で最終行までに入力対象項目がない場合は、項目群の最初の入力対象項目の基準位置にカーソルが移動します。また、選択群内の選択項目にカーソルを表示している場合は、選択群を脱出し、次の行以降の最初の入力対象項目にカーソルは移動します。矩形項目の場合【改行】キーを押すと、まず項目内の次の行に移動します。最終行の【改行】キーの動作は、他の項目と同じ動きをします。
【HOME】キーを押すと、項目群内の最初に位置する入力対象項目あるいは選択対象項目にカーソルが移動します。ただし、画面定義体にカーソル移動順序設定を指定していた場合、入力対象項目はカーソル移動順序の先頭の項目になります。
消去キーには、項目消去を行う【項目消去】キー、フィールド消去を行う【フィールド消去】キー、および【入力消去】キーがあります。
【項目消去】キー、【フィールド消去】キーおよび【入力消去】キーは任意のキーに割りつけることが可能です。詳細はウィンドウ情報ファイルのKEYDEF /ERASE/(【項目消去】キー割り付け) 、KEYDEF /EL/(【フィールド消去】キー割り付け) 、およびKEYDEF /INPUTCLR/(【入力消去】キー割り付け)を参照してください。
消去キーはカーソルが入力対象の入出力項目にある場合に有効となります。
【項目消去】キーを押すと、カーソル位置の文字を含めて、カーソル位置よりも右側にある文字を項目の終わりまで空白表示します。この場合、左詰め項目であればカーソルの移動は起こりません。しかし、右詰め項目であれば入力文字を右寄せし、カーソルは項目の最終位置に移動します。
【フィールド消去】キーを押すと、項目内をすべて空白表示します。この場合、左詰め項目であればカーソルは項目の先頭に移動します。右詰め項目であればカーソルは項目の最終位置に移動します。
【入力消去】キーを押すと、入力対象となっているすべての入出力項目を空白で表示します。カーソルは入力対象となっている項目の最も最上位行で、かつ最も左に位置する項目に移動します。