simh V3.8-1のvax.exeを使ってOpenVMS VAX V7.2をインストールしました。まだOSを入れただけですが、simhではDZデバイスをTCP/IPで接続できるので、端末エミュレータからログインできるようになりました。端末エミュレータとして、昔はTera Termを利用していたのですが、ずいぶん前からRLoginに移行しています。端末エミュレータを使い分けるのは面倒なので、できればRLoginを使いたいとは思いますが、ひとまずTera TermとRLoginで使い勝手を検討します。
まずログインするだけであれば、Tera TermでもRLoginでも、いずれも可能でした。ただし注意が必要なのは、ログイン先がOpenVMSだということです。Tera TermもRLoginもVT端末の動作を再現しようとしており、VT端末のエスケープシーケンスにも対応しているようなのですが、キーボードの扱いがどうなっているのか、気になります。
そもそも、DECのVT端末でつかわれているLK201キーボードと、PCの109キーボードとでは、違う点があります。
- ファンクションキーは、LK201では20個ありますが、109キーボードでは12個しかありません。
- 109キーボードのテンキーにおける「+」キーは、LK201では「-」と「,」として別のキーになっています。
- カーソルキーの上部にある6個のキーの役割が、LK201と109キーボードでは、配置が異なります。
Windows上で動作する端末エミュレータは、109キーボードを使いますが、VT端末として操作するためにはLK201と同等の操作ができる必要があります。このためには、上述した違いを吸収するために、キーマップ設定をおこなわなければなりません。
端末エミュレータで実現できるか否かを確認するまえに、どのようなキーマップ設定とするか方針を決めておきます。
- LK201のファンクションキーは20個あり、109キーボードの12個では数が足りません。そこで、F1~F10を使うことにして、F11~F20は、Shift+(F1~F10)で実現することとします。
- 109キーボードのF11とF12が余りますが、これはLK201のF15とF16に割り当てます。OpenVMSではF15を「Help」として、F16を「Do」として使っています。これらは使用頻度が高いので、押しやすいようにF11とF12を使います。
- カーソルキーの上部にある6個のキーは、LK201と109キーボードで配置が異なります。例えば、「Ins」と「Del」が109キーボードでは左端にありますが、LK201では「Insert」と「Remove」は右上にあります。ここで考えるのは、109キーボードの刻印を無視してLK201の配置に合わせるのか、LK201の配置を無視して109キーボードの刻印に合わせるのかという選択です。もし日常的にLK201を利用しているのであれば、身体が配置を覚えているでしょうから、LK201の配置に合わせたほうが良いでしょう。しかしキーの刻印を参照しながら操作するのであれば109キーの刻印に合わせた方が良いことになります。私自身は、LK201を使用する機会はありませんので、109キーボードの刻印を見ながら操作することになると思うので、キーボードの刻印に合わせてエスケープシーケンスが送出されるように設定します。
- 109キーボードのテンキーには「+」しかありませんが、LK201では「-」と「,」の2つのキーがあります。これを実現するため、テンキーの「+」は「,」に割り当てることとして、Ctrl+「+」を「-」にしました。
このような方針を実現できるように、端末エミュレータのキーマップ設定をおこないます。設定ができているか否かは、OpenVMSの「EVE(EDIT/EVE)」や「EDT(EDIT/EDT)」で確かめます。
Tera Termの場合は「KEYBOARD.CNF」というファイルに対応関係を記述するようです。EVEやEDTで確かめましたが、問題なさそうです。
RLoginは、設定画面を使います。Tera Termとはキーマップの考え方が違うようで、Microsoft Windowsの仮想キーコードを使って割り当てをおこなうようです。ところが、この方式だとVT端末と同等の挙動を実現できませんでした。LK201はテンキーの上部にPF1~PF4が割り当てられており、特にPF1は「GOLD」として使われます。ところが109キーボードでは「NUMLOCK」なので、例えばテンキーの「7」は、NUMLOCKの状態によって「7」だったり「Home」だったり変化します。このため仮想キーコードも「PAD7」と「HOME」となり、特に「HOME」の場合は、カーソルキー上部にある「Home」と区別することができません。
普段は、Tera Termではなく、RLoginを使用しているので、OpenVMSもRLoginにしたかったのですが、そうもいかないようです。OpenVMSを操作するときだけはTera Termにするしかないのかなと思います。
0 件のコメント:
コメントを投稿