Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ map3270(5) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tn3270(1)

mset(1)

MAP3270(5)  —  NEWS-OS Programmer’s Manual

名称

map3270 − ASCII のキーストロークを IBM 3270 のキーにマップするための データベース

形式

/etc/map3270

解説

UNIX 環境下において IBM の 3270 端末をエミュレートする場合 (tn3270(1) を参照)、ユーザの (ASCII)キーボードにおけるキーの組み合せ順序と、 3270 において利用できるキーとの間でマッピングを行う必要があります。 例えば、3270 は EEOF というラベルの付けられたキーを備えています。 このキーは、現フィールドの内容をカーソルの位置から最後まで消去するものです。 この機能を首尾良く完了させるためには、 端末ユーザと、3270 をエミュレートするプログラムは、 どのようなキー順序を EEOF 機能の起動に使用するかという点について設定していなければなりません。

こうしたキー順序に関する要件を以下に示します。

1.)キー順序の最初の文字は、標準 ASCII の表示可能な文字以外のもの
でなければなりません。
2.)キー順序は、別のキー順序の開始部分に相当するものであってはな
りません (ただし、複数のキー順序が同じ開始部分を共有すること
はできます)。

フォーマット

このファイルは、さまざまな端末に関するエントリから構成されています。 エントリの最初の部分は、そのエントリを使用する端末の名称を示しています。 これらの名称は、 /etc/termcap ( termcap(5) を参照)内の名称と同じでなければなりません。 さまざまな termcap エントリにリストされている端末がすべて 同一の map3270 エントリを使用することもしばしばあります。 例えば、925 と 925vb (ビジュアルベルを備えた 925)はおそらく同じ map3270 エントリを使用するものと思われます。 名称の後は、縦棒 (|)で区切られて、左の中括弧 ({)、 定義、最後に右の中括弧 (})が続きます。

定義は、3270 機能を指定する予約キーワード (以下のリストを参照)から構成され、 その後には、等号 (=)、この特定の機能を生成するさまざまな方法、 セミコロン (;)が続きます。 それぞれの方法は、引用符 (´)で囲まれた表示可能な ASCII 文字の 文字列になります。複数の方法 (オプション)がある場合には、 縦棒 (|)で区切られます。

引用符の内側で使用されるいくつかの文字は特殊な意味を持っています。 脱字記号 (^)は、次の文字がどのようなものであれ、 その文字に関するコントロール文字であることを示します。 従って、‘^a’ という文字列は、control-a、すなわち、 16 進数の 1 を表すものです (‘^A’も同じコードを生成します)。 rubout を生成するためには、‘^?’ を入力します。ファイル内のコントロール文字を 示すためには、コントロールシーケンスを表す脱字記号を使用しなければなりません。 control-A とタイプしただけでは動作しません。
注意:(16 進法の 1E を生成するための) ctrl-脱字記号という シーケンスは、(‘^\^’ではなく) ‘^^’と表されます。

脱字記号の他に、文字の前にバックスラッシュ (\) を付けることもできます。 これは大部分の文字についてほとんど意味を持っていないため、 バックスラッシュの使用は必ずしも勧められません。 引用符 (´) については、バックスラッシュは、その引用符による 文字列の終了を防ぎます。 バックスラッシュを文字列の一部にする場合には、 ファイル内に2つのバックスラッシュ (\\) を入れる必要があります。

この他に、以下の文字が特殊な意味を持っています。

‘\E’ は、エスケープ文字を意味します。
‘\n’ は、改行を意味します。
‘\t’ は、タブを意味します。
‘\r’ は、復帰を意味します。

文字列内の各文字をそれぞれ引用符で囲む必要はありません。 ‘\E\E\E’ は 3つのエスケープ文字を意味します。

コメントは、行のどの位置にも収めることができ、‘#’ で始まって、 その行の行末で終わります。ただし、引用符号の付いた文字列 の中からコメントを始めることはできません。 引用符付き文字列内の ‘#’ は特別な意味を持っていません。

サポートされる 3270 キー

このファイル内でサポートされる 3270 キーの名称を以下に示します。 3270 には存在しないキーもいくつかあります。 特に、このファイルの開発者たちは、エール大学コンピュータセンターに おける IBM Series/1 のフロントエンドとして 3270 エミュレータを開発したのです。 そのため、以下のリストは、エール大学の開発したコードとたいへんよく似ています。

以下のリストにおいて、星印 (∗) の付いている機能は tn3270(1) によってサポートされません。 サポートされない機能を使用した場合、 tn3270(1) はユーザの端末に対してベルシーケンスを送ります。

3270キーの名称機能説明

(∗)LPRTローカルプリント
DP文字の複製
FMフィールドマーク文字
(∗)CURSELカーソル選択
RESHOW画面の再表示
EINP入力の消去
EEOFフィールド終了の消去
DELETE文字の削除
INSRT挿入モードの切り替え
TABフィールドタブ
BTABフィールドバックタブ
COLTABカラムタブ
COLBAKカラムバックタブ
INDENTタブストップを 1つ分だけインデントする
UNDENTタブストップを 1つ分だけアンデントする
NL復帰改行
HOMEカーソルをホームポジションに戻す
UPカーソルを上方向に移動させる
DOWNカーソルを下方向に移動させる
RIGHTカーソルを右方向に移動させる
LEFTカーソルを左方向に移動させる
SETTABカラムタブを設定する
DELTABカラムタブを解除する
SETMRG左マージンを設定する
SETHOMホームポジションを設定する
CLRTABすべてのカラムタブを解除する
(∗)APLONAPL をオンにする
(∗)APLOFFAPL をオフにする
(∗)APLEND入力を ASCII として扱う
(∗)PCONxon/xoff をオンにする
(∗)PCOFFxon/xoff をオフにする
DISC切断 (サスペンド)
(∗)INIT新しい端末タイプ
(∗)ALTK代替キーボード dvorak
FLINP入力をフラッシュする
ERASE最後の文字を消去する
WERASE最後のワードを消去する
FERASEフィールドを消去する
SYNCHユーザと同期しているモードである
RESETキーロック解除キーボードをリセットする
MASTER_RESETリセット、ロック解除、再表示
(∗)XOFF出力を保留してください
(∗)XON出力を送出してください
ESCAPETelnet コマンドモードになる
WORDTAB次のワードの先頭にタブ移動する
WORDBACKTAB現在あるいは最後のワードの先頭にタブを移動する
WORDEND現在あるいは次のワードの最後にタブを移動する
FIELDEDN現在あるいは次の保護されていない (書き込み可能な)        
PA1プログラムアテンション 1
PA2プログラムアテンション 2
PA3プログラムアテンション 3
CLEAR3270 のローカルクリア
TREQテスト要求
ENTER入力キー
PFK1プログラムファンクションキー 1
PFK2プログラムファンクションキー 2
(中略) (中略)
PFK36プログラムファンクションキー 36

エントリのサンプル

ユーザ環境内および /etc/map3270 内において適切なバージョンを突 き止められない場合、 tn3270(1) によって以下のエントリが使用されます。

  name{    # TERM 変数に収められている実際の名称
  clear = ‘^z’;
  flinp = ‘^x’;
  enter = ‘^m’;
  delete = ‘^d’|‘^?’;   # ‘^?’も削除 (rubout)
  synch = ‘^r’;
  reshow = ‘^v’;
  eeof = ‘^e’;
  tab = ‘^i’;
  btab = ‘^b’;
  nl = ‘^n’;
  left = ‘^h’;
  right = ‘^l’;
  up = ‘^k’;
  down = ‘^j’;
  einp = ‘^w’;
  reset = ‘^t’;
  xoff = ‘^s’;
  xon = ‘^q’;
  escape = ‘^c’;
  ferase = ‘^u’;
  insrt = ‘E’;
  # プログラムアテンションキー
  pa1=‘^pl’; pa2=‘^p2’; pa3=‘^p3’;
  # プログラムファンクションキー
  pfk1=‘E1’; pfk2=‘E2’; pfk3=‘E3’; pfk4=‘E4’;
  pfk5=‘E5’; pfk6=‘E6’; pfk7=‘E7’; pfk8=‘E8’;
  pfk9=‘E9’; pfk10=‘E0’; pfk11=‘E-’; pfk12=‘E=’;
  pfk13=‘E!’; pfk14=‘E@’; pfk15=‘E#’; pfk16=‘E$’;
  pfk17=‘E%’; pfk18=‘E’; pfk19=‘E&’; pfk20=‘E∗’;
  pfk21=‘E(’; pfk22=‘E)’; pfk23=‘E_’; pfk24‘E+’;
  }

上記の定義に関する IBM 3270 のキー定義

次の表は、 tn3270(1) および mset(1) によるデフォルトのキーマッピングを使用する場合に、 3270 の各機能をエミュレートするための適切なキーを示したものです。

コマンドキーIBM 3270 キーデフォルトキー
EnterRETURN
Clearcontrol-z
カーソル移動キー
New Linecontrol-n あるいは HOME
Tabcontrol-i
Back Tabcontrol-b
Cusrsor Leftcontrol-h
Cursor Rightcontrol-l
Cursor Upcontrol-k
Cursor Downcontrol-j あるいは LINE FEED
編集制御キー
Delete Charcontrol-d あるいは RUB
Erase EOFcontrol-e
Erase Inputcontrol-w
Insert ModeESC Space
End InsertESC Space
プログラムファンクションキー
PF1ESC1
PF2ESC2
......
PF10ESC0
PF11ESC-
PF12ESC=
PF13ESC!
PF14ESC@
......
PF24ESC+
プログラムアテンションキー
PA1control-p1
PA2control-p2
PA3control-p3
ローカル制御キー
Rset After Errorcontrol-r
Purge Input Buffercontrol-x
Keyboard Unlockcontrol-t
Redisplay Screencontrol-v
その他のキー
Erase current fieldcontrol-u

関連ファイル

/etc/map3270

関連事項

tn3270(1), mset(1),
エール大学 ASCII 端末通信システム II プログラム解説/操作の手引 (IBM SB30-1911)

著者

Greg Minshall

バグ

tn3270 は、まだ、 map3270 において利用可能な全機能の処理方法を理解しているわけではありません。 こうした機能が要求された場合、 tn3270 はユーザに警報音を発します。

(ワード削除やワードタブに関する)ワードの定義は、 実行時オプションでなければなりません。 現在のワードの定義 (ブランク以外の文字から成る文字列)は、 tty ドライバで用いられるものであり、 ‘vi’ で用いられている定義 (特殊文字の文字列あるいは、 アルファベットと数字の文字列)とは違っています。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026