岩本といいます。

# fj.comp.miscにクロスポストして、Followup-Toもfj.comp.miscにしています。

<eo5dgq$8ei$1@antre.cala.muzik.gr.jp>の記事において
shirai@unixusers.netさんは書きました。

> TeraTerm はどうやら DEC keyboard の key code に合わせたか
>ったらしいのですが、de-facto standard と違い過ぎて実用的では
>なかったので、UTF-8 版では標準的な key code にして貰えるよう
>に私から頼んだ結果、今の実装になっています。
> 「vt100」と言えば DEC 端末の代表格なので、目指しているとこ
>ろは同じ筈なんですが、今となっては本物の VT-100 端末で確認す
>るのもままならないので、本当はどちらの key code が正しいのか
>は不明です。

どちらも送出するキーシーケンスは正しいです。
TeraTermとPuTTY等の他のエミュレータで違っているのは、PCのキーと
VTシリーズの編集キーパッドとの間のマッピングです。

  VT            TeraTerm    PuTTY等
  Find          Insert      Home
  Select        Delete      End
  Insert Here   Home        Insert
  Remove        Page Up     Delete
  Prev          End         Page Up
  Next          Page Down   Page Down

上記のマッピングだけを見るとTeraTermの割当が変なように見えますが、
TeraTermでは実際のキーの配置がVTシリーズと同じになるようにしていた為
上記のようなマッピングになっています。
これに対して、PuTTY等の他のエミュレータではキーの名前が近いものに
マッピングしているのでしょう。

両方ともVTシリーズ互換を目指しているが、目指し方が違ったという所でしょうか。


> ただ、下図を見る限り本物の VT-100 には「Home」も「Insert」
>も存在しないようですので、もしそうなら多くの vt100 emulation
>の吐くこれらの key code はでっち上げということになり、各実装
>によりまちまちという状況も致し方ないのかも知れません。
>http://www.pfu.fujitsu.com/hhkeyboard/kb_collection/images/vt100.gif

VT100には無いですね。
しかし、後継のVT220以降ではFindやSelect等の編集キーパッドとよばれる
キーが追加されました。TeraTermやPuTTY等でInsertキー等を押したときに
送出されるシーケンスは、この編集キーパッドの物です。
この編集キーパッドは、PCのInsertキー等と同じ位置にあり、数も同じ6個
なので、これらの間でマッピングするのは当然の成行きだと思います。

編集キーパッドにどのようなキーが有ったかは、下記のLK411キーボードの
図が参考になると思います。

http://www.pfu.fujitsu.com/hhkeyboard/kb_collection/images/lk411-aj.gif

># 「Delete」はあるみたいですけどね。

このDeleteキーは、PuTTYでDeleteキーに割り当てているキー(Removeキー)
相当のキーではなく、DEL(0x7f)を送出する為のキーだったと思います。

-- 
いわもと こういち(doda@iwmt.org/doda@cds.ne.jp)
# なるようになれ、明日もイケイケ♪