1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
|
.\" Copyright (c) 1986, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)map3270.5 8.4 (Berkeley) 6/1/94
.\" jpman %Id: map3270.5,v 1.3 1998/06/13 12:33:46 horikawa Stab %
.\"
.\" WORD: terminal 端末
.\" WORD: caret キャレット (`^' のこと)
.\" WORD: column tab カラムタブ
.TH MAP3270 5 "June 1, 1994"
.UC 6
.SH 名称
map3270 \- ASCII のキー入力を IBM 3270 キーにマッピングするためのデータベース
.SH 書式
.B map3270
.SH 解説
IBM タイプの 3270 端末を \s-1UNIX\s0 でエミュレーションする場合
(\fItn3270\fR(1) 参照)、
ユーザが (ASCII) キーボードを押すシーケンスと
3270 で使用可能なキーの間でマッピングを行わなければなりません。
例えば、3270には
.B EEOF
とラベルされたキーがあり、これはカーソル位置から終わりまでの
現在のフィールドの内容を消去するものです。
この機能を実現するためには、
.B EEOF
機能を起動するためにタイプするキーについて、
端末のユーザと 3270 をエミュレートしているプログラムが
合意しておく必要があります。
.PP
これらのシーケンスには以下の項目が要求されます。
.nf
.ta 4n 9n
.sp
1) シーケンスの最初の文字が標準の ASCII の印字可能文字でないこと。
.sp
2) どのシーケンスも他のシーケンスの最初の部分で\fIない\fRこと。
(ただしシーケンスは最初の部分を\fI共有\fRできます。)
.sp
.fi
.SH フォーマット
本ファイルはいろいろなキーボードのエントリから成ります。
エントリの最初の部分はそのエントリを使用するキーボード名を列挙します。
これらの名称はたいていは
.I /etc/termcap
(
.IR termcap (5)
参照)
にあるものと同じものです。
しかし、termcap の様々なエントリの端末すべてが、同じ
.I map3270
のエントリを使用することがあることに注意してください。
例えば、925 と 925vb (ビジュアルベルを有する 925) はおそらく両方とも同じ
.I map3270
のエントリを使用するでしょう。
さらに、端末のタイプがウィンドウマネージャを定義していることがあり、
その場合はキーボード名を (環境変数
.B KEYBD
によって) エントリ名として指定する必要があります。
キーボード名の後には縦棒 (`|') で区切って、
左中括弧 (`{')、定義、そして右中括弧 (`}') が続きます。
.PP
各定義は 3270 の機能 (以下に定義するように拡張されたもの) を示す
予約語 (下のリストを参照)、等号 (`=')、この機能を生成するための
様々な方法、セミコロン (`;') の順で続きます。
各方法は
.I 印字可能な
ASCII 文字の文字列のシーケンスをシングルクォート (`\(aa') で括ったものであり、
様々な (別の) 方法は縦棒 (`|') で区切られています。
.PP
シングルクォートではいくつかの文字は特別な扱いを受けます。
キャレット (`^') は次の文字が何であろうが ``制御'' 文字
であることを指定します。
つまり `^a' は control-a を表し、
すなわち 16 進数の 1 となります
(`^A' は同じコードを生成することに注意)。
.B rubout
(DEL) を生成するには `^?' を入力します。
ファイルの中で制御文字を表現するにはコントロールシーケンスを表示する
ためにキャレットを使う必要があります。
ただ単に control-A をタイプするだけではうまくいきません。
注釈: control-^ シーケンス (16 進数で 1E) は
`^^' (`^\e^' ではありません) として表現されます。
.PP
キャレットのほかに、バックスラッシュ (`\e') に文字を続けることもできます。
これはほとんどの文字では効果はないので、
通常はこうすることは推奨されていません。
シングルクォート (`\(aa') の場合、バックスラッシュをつけると
シングルクォートによって文字列は終了しません。
キャレット (`^') の場合、バックスラッシュによって
キャレットは特殊な意味を持たなくなります。
文字列中にバックスラッシュを含めるには、
ファイル中に 2 つバックスラッシュ (`\e\e') を置く必要があります。
.PP
これらの他に、以下の文字が特殊な意味を持ちます。
.sp
.nf
.in +0.5i
`\eE' はエスケープ文字の意です。
`\en' は改行の意です。
`\et' はタブの意です。
`\er' は復改の意です。
.in -0.5i
.fi
.sp
.sp
各文字は文字列中でシングルクォートで囲まれている必要はありません。
`\eE\eE\eE' は 3 つのエスケープ文字を示します。
.PP
コメントは行の中でどこにでも置くことができますが、
ハッシュマーク (`#') で始まり行末で終了します。
しかし、コメントはクォートで囲まれた文字列の中で開始することはできません。
クォートで囲まれた文字列の中でのハッシュマークは特別の意味を持たなくなります。
.PP
.SH サポートされている 3270 のキー
以下はこのファイルにおいてサポートされている 3270 のキーの名称のリストです。
これらのキーには、
実際には 3270 に存在しないものがあることに注意してください。
特にこのファイルの開発者は Yale University Computer Center で
IBM の Series/1 のフロントエンドとして動作していた 3270 エミュレータ
を使用した作業にかなり依存しています。
以下のリストは Yale のコードの開発者が彼らの製品に適用していた
機能に非常に密着したものです。
.sp
.B 以下のリストで
.B スター ("*")
.B 印がつけられた機能は
.IR tn3270 (1)
.B ではサポートされていません。
サポートされていない機能がある場合、
.IR tn3270(1)
はユーザの端末にベル (もしくはビジュアルベル) シーケンスを送信します。
.sp
.nf
3270 キー名称 機能説明
(*)LPRT ローカルプリント
DP 文字複写
FM フィールドマーク文字
CURSEL カーソル選択
CENTSIGN EBCDIC のセント (¢) 記号
RESHOW スクリーンの再描画
EINP 入力消去
EEOF フィールドの末尾まで消去
DELETE 文字削除
INSRT 挿入モードのトグル
TAB フィールドタブ
BTAB フィールド逆タブ
COLTAB カラムタブ
COLBAK カラム逆タブ
INDENT 1 タブ分インデント
UNDENT 1 タブ分逆インデント
NL 改行
HOME カーソルをホーム位置へ
UP カーソルを上へ
DOWN カーソルを下へ
RIGHT カーソルを右へ
LEFT カーソルを左へ
SETTAB カラムタブをセット
DELTAB カラムタブを削除
SETMRG 左マージンをセット
SETHOM ホーム位置をセット
CLRTAB すべてのカラムタブストップを消去
(*)APLON apl オン
(*)APLOFF apl オフ
(*)APLEND 入力を ASCII として扱う
(*)PCON xon/xoff オン
(*)PCOFF xon/xoff オフ
DISC 接続断 (サスペンド)
(*)INIT 新端末タイプ
(*)ALTK DVRAK キーボード
FLINP 入力消去
ERASE 最後の文字を消去
WERASE 最後の単語を消去
FERASE フィールド消去
SYNCH ユーザと同期中
RESET リセットキー - キーロック解除
MASTER_RESET リセットし、ロック解除し、再表示する
(*)XOFF 出力保留
(*)XON 出力促進
ESCAPE telnet コマンドモードに入る
WORDTAB 次の語へタブ移動
WORDBACKTAB 現在/最後の語の最初にタブ移動
WORDEND 現在/次の語の最後にタブ移動
FIELDEND 現在/次の保護されていない (書き込み可能)
フィールドの最後の空白でない位置へタブ移動
PA1 プログラムアテンション 1
PA2 プログラムアテンション 2
PA3 プログラムアテンション 3
CLEAR 3270 画面のローカルクリア
TREQ テスト要求
ENTER エンターキー
PFK1 プログラムファンクションキー 1
PFK2 プログラムファンクションキー 2
etc. etc.
PFK36 プログラムファンクションキー 36
.SH エントリの例
以下のエントリは、ユーザ環境と /usr/share/misc/map3270 において
適切なものが見つからない場合に tn3270(1) で使用されるエントリです。
.sp
.nf
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 = '^p1'; pa2 = '^p2'; pa3 = '^p3';
# プログラムファンクションキー
pfk1 = '\eE1'; pfk2 = '\eE2'; pfk3 = '\eE3'; pfk4 = '\eE4';
pfk5 = '\eE5'; pfk6 = '\eE6'; pfk7 = '\eE7'; pfk8 = '\eE8';
pfk9 = '\eE9'; pfk10 = '\eE0'; pfk11 = '\eE-'; pfk12 = '\eE=';
pfk13 = '\eE!'; pfk14 = '\eE@'; pfk15 = '\eE#'; pfk16 = '\eE$';
pfk17 = '\eE%'; pfk18 = '\eE'; pfk19 = '\eE&'; pfk20 = '\eE*';
pfk21 = '\eE('; pfk22 = '\eE)'; pfk23 = '\eE_'; pfk24 = '\eE+';
}
.fi
.SH "上記の定義での IBM 3270 キー定義"
.IR tn3270 (1)
と
.IR mset (1)
が提供するデフォルトキーマッピング使用時の、
3270 の各機能をエミュレートするキーを下表に示します。
.sp
.nf
コマンドキー IBM 3270 キー デフォルトキー
Enter RETURN
Clear control-z
カーソル移動キー
New Line control-n もしくは
Home
Tab control-i
Back Tab control-b
Cursor Left control-h
Cursor Right control-l
Cursor Up control-k
Cursor Down control-j もしくは
LINE FEED
編集制御キー
Delete Char control-d もしくは
RUB
Erase EOF control-e
Erase Input control-w
Insert Mode ESC Space
End Insert ESC Space
プログラムファンクションキー
PF1 ESC 1
PF2 ESC 2
... ...
PF10 ESC 0
PF11 ESC -
PF12 ESC =
PF13 ESC !
PF14 ESC @
... ...
PF24 ESC +
プログラムアテンションキー
PA1 control-p 1
PA2 control-p 2
PA3 control-p 3
ローカル制御キー
Reset After Error control-r
Purge Input Buffer control-x
.ne 1i
Keyboard Unlock control-t
Redisplay Screen control-v
その他のキー
Erase current field control-u
.fi
.SH 関連ファイル
/usr/share/misc/map3270
.SH 関連項目
tn3270(1), mset(1), \fIYale ASCII Terminal Communication
System II Program Description/Operator's Manual\fR
(IBM SB30-1911)
.SH 作者
Greg Minshall
.SH バグ
.I map3270
で提供されている機能すべてについてどのように処理すれば良いのかを、未だ
.I tn3270
は理解していません。
その様な機能が要求されると
.I tn3270
はビープを鳴らします。
.PP
(「語消去」や「語タブ」での) 「語」の定義は実行時オプションにするべきです。
現在これはカーネルの tty ドライバでの定義のまま (空白以外の文字列) に
定義されています。"vi" での定義
(特殊文字の文字列、アルファベット数字の文字列) を使用したい人もいるでしょう。
|