Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TeraTerm で Insert/Home/Delete/End キーの入力

702 views
Skip to first unread message

dev_...@anet.ne.jp

unread,
Jan 11, 2007, 7:16:40 AM1/11/07
to
TeraTerm Pro 2.3 で Insert/Home/Delete/End キーが押された場合に
指定されたバイト列を送信させることは可能でしょうか?
TeraTerm Pro 2.3 は vt100 をサポートしていますが
UTF-8 対応版や他のターミナルとは違うキーコードを返してしまうため
例えば挿入/上書きモードの変更が Home キーに割り当てられてしまうなどの
不便が生じています。

TeraTerm(vt100) UTF-8 TT(vt100) PuTTY(xterm) console(linux)
Home 27 91 50 126 27 91 49 126 27 91 49 126 27 91 49 126
Insert 27 91 49 126 27 91 50 126 27 91 50 126 27 91 50 126
Delete 27 91 52 126 27 91 51 126 27 91 51 126 27 91 51 126
End 27 91 52 126 27 91 52 126 27 91 52 126
PageUp 27 91 53 126 27 91 53 126 27 91 53 126 27 91 53 126
PageDown 27 91 54 126 27 91 54 126 27 91 54 126 27 91 54 126
UpArrow 27 91 65 27 91 65 27 91 65 27 91 65
DownArrow 27 91 66 27 91 66 27 91 66 27 91 66
RightArrow 27 91 67 27 91 67 27 91 67 27 91 67
LeftArrow 27 91 68 27 91 68 27 91 68 27 91 68

 よろしくお願いします。

Takashi SHIRAI

unread,
Jan 11, 2007, 8:19:55 AM1/11/07
to
 しらいです。

 んー、fj.os.linux と関係あるのかなー?

In article <eo59r7$i26$1...@news-est.ocn.ad.jp>,


dev_...@anet.ne.jp <dev_...@anet.ne.jp> wrote:
>TeraTerm Pro 2.3 で Insert/Home/Delete/End キーが押された場合に
>指定されたバイト列を送信させることは可能でしょうか?

 TeraTerm のキーコードは KEYBOARD.CNF で定義されているので、
この中の各行を以下の設定に書換えてやればお望みの結果が得られ
ると思います。
;Home key
Find=327
;Insert key
Insert=338
;Delete key
Remove=339
;End key
Select=335
 KEYBOARD.CNF は TeraTerm Pro の install directory にありま
す。これを書換える代わりに UTF-8 対応版の KEYBOARD.CNF をコ
ピーしても同じ効果が得られるでしょう。


>TeraTerm Pro 2.3 は vt100 をサポートしていますが
>UTF-8 対応版や他のターミナルとは違うキーコードを返してしまうため
>例えば挿入/上書きモードの変更が Home キーに割り当てられてしまうなどの
>不便が生じています。

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

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

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

--
しらい たかし

EHARA Jun-ichi

unread,
Jan 11, 2007, 10:18:30 AM1/11/07
to
江原です。
# fj.os.linux はちょっと違うかなと思いましたので,fj.comp.misc に
# crosspost して Followup-To はそちらにしています。

In article <eo59r7$i26$1...@news-est.ocn.ad.jp>,
dev_...@anet.ne.jp <dev_...@anet.ne.jp> wrote:
>TeraTerm Pro 2.3 で Insert/Home/Delete/End キーが押された場合に
>指定されたバイト列を送信させることは可能でしょうか?

Takashi SHIRAI wrote in <eo5dgq$8ei$1...@antre.cala.muzik.gr.jp> ...


> TeraTerm のキーコードは KEYBOARD.CNF で定義されているので、
>この中の各行を以下の設定に書換えてやればお望みの結果が得られ
>ると思います。

(中略)


> KEYBOARD.CNF は TeraTerm Pro の install directory にありま
>す。これを書換える代わりに UTF-8 対応版の KEYBOARD.CNF をコ
>ピーしても同じ効果が得られるでしょう。

同じく TeraTerm Pro の install directory にある keycodej.txt に,
キーボード設定について詳しく書かれていますね。

# 同ファイル中「作者にキーボード設定に関する質問をしないでください。」
# という文が 2回も出ていました。
# 当時からよくある質問だったのでしょうね…

--
江原 純一 mailto:j-e...@pop17.odn.ne.jp

IWAMOTO Kouichi

unread,
Jan 12, 2007, 1:40:13 AM1/12/07
to
岩本といいます。

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

<eo5dgq$8ei$1...@antre.cala.muzik.gr.jp>の記事において
shi...@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)を送出する為のキーだったと思います。

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

0 new messages