.\" 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" での定義 (特殊文字の文字列、アルファベット数字の文字列) を使用したい人もいるでしょう。