Re: KEYBOARD.CNF , [home] and [end] key



※ "京" こと kyochan@cks.canon.co.jp さんの
   『Re: KEYBOARD.CNF , [home] and [end] key』より

京>  homeとendに相当するコードがなんなのかということを調べたかったのです。
京>  これは、DECのVT100に依存するコードなのでしょうか?

接続先の terminfo や termcap に依存していると思います。

京>  DECのVT100にHomeキーに相当するものがない、ということもあるでしょうか?

FreeBSD 2.2.8 の termcap を見る限りでは vt100 には home はあ
るようですが、end はないようです。

# 私は vt100 シリーズは見たことないです。

京>  ちなみに、KEYBOARD.CNFに Home=327とかって書いても機能しませんでした。

変なコードが送出されませんでしたか?

HP-UX はほとんどさわったことがないのですが、たぶん Tera Term
で接続して infocmp コマンドを実行すれば現在の terminfo のエ
ントリが出力されると思います。

vt100系の端末では、

  key    |info  cap  |sequ- |備考
         |name  name |ence  |
==================================
Insert   |kich1  kI  |\E[2~ |vt200
Home     |khome  kh  |\E[H  |
End      |kend   @7  |\E[4~ |vt200
PageUp   |kpp    kP  |\E[3~ |vt200
PageDown |knpk   kN  |\E[6~ |vt200

が期待されている送出シーケンスだと思うので、TERM=vt200 など
の場合は KEYBOARD.CNF の各キーコードに上のシーケンスを設定す
ればOKだと思います。

もしくは、接続先の termcap/terminfo に Tera Term 用のエント
リを追加するというのも悪くないと思います。

ちなみにこちらの環境の Tera Term では、デフォルトで

  key    | cnf   |sequ-
         |name   |ence
=======================
Insert   |Find   |\E[1~
Home     |Insert |\E[2~
End      |Prev   |\E[5~
PageUp   |Remove |\E[3~
PageDown |Next   |\E[6~

となっていますが、これにはなにか理由があるのでしょうか?

蛇足ですが、

※ "平" こと hirai@nucl.phys.s.u-tokyo.ac.jp さんの
   『Re: KEYBOARD.CNF , [home] and [end] key』より

平> [User keys]
平> ; Home = C-a
平> User1=327,0,$01

Emacs 20系しか試していないのですが、home はデフォルトで
beginning-of-buffer() になっていると思います。

C-a は beginning-of-line() ですよね?

平> ; End = C-e
平> User2=335,0,$05

こちらも end は end-of-buffer() で、end-of-line() ではないで
す。

平>     小林さんの $1B O P というシーケンスは私のとこではだめだった
平> のですが、これは Mule の設定でしょうかね。

\EOP は F1 ですね。ちなみに \EOQ は F2。
-- 
6/18 09:45頃
NECソフトウェア新潟 水戸
mailto:mit@nines.nec.co.jp \n

Partial thread listing: