川口です

<40C3B2D1.11193B00@ht.sakura.ne.jp>の記事において
delmonta@ht.sakura.ne.jpさんは書きました。
> Emacs では、元来つぎの 5 つは区別されます。
>    "\C-h"        Control と h を同時に押したもの。
>            BS キーを叩くとこれが出るコンソールが多い。
>    "\x7F"        emacs -nw で Delete キーを押したときに出てくるもの。
>            PuTTY、Linux など一部の端末は BS キーもこれを吐く。
>    "\e[3~"       Linux コンソールなど一部の端末が Delete キーで吐くもの。
>    [backspace]     別ウィンドウで動いている(window-system≠nil の)
>                    Emacs で BS キーを押したときに出てくるもの。
>    [delete]        別ウィンドウで動いている Emacs で Delete キーを
>                    押したときに出てくるもの。
> 「別ウィンドウで」とは、X 上のほか、Meadow なども含みます。
> Carbon Emacs は未確認…

私の理解では...

元来,という言い方をするならば元々は symbolic な指定が
keycode に対応していて
  [1] backspace(4) ==(termcap/terminfo)== ^H(1) 
  [2] delete(5) ==(termcap/terminfo)== \177(2)
であって,X11 化したとき(?)に
        key event と modifier を区別して扱えるようになった(した?)
        ==> (よくも悪くも)べつに扱うことが出来るようになった
という感じだと思っていたのですが...

backspace:      key_backspace (TI: kbs, TC: kb) backspace key
delete:         key_dc (TI: kdch1, TC: kD) delete-character key

で,3番目(\e[3~ (3))は... vt200 や screen などの kD だったんですね.
一方で xterm-r6, FreeBSD の cons25w だと :kD=\177: .つまり(2).

"元来" は delete は key_dc に対応(等価)していて,
それが key code としては端末により異なる(その中身は termcap/terminfo見ろ,と).
tty な世界では ^H と backspace などは区別がつかないので,
一緒に扱うような指定も出来たけど,X11 世界で別の設定ができるようになると,
前からややこしかったのがさらに初心者泣かせになってきた,って感じかな.

だいたい vt100 の backspace って \177 だったんですね.
ということで私の [2] の表現はウソですね.
(delete にいろいろ流派があるというのは実は知らなかった...)

そうしてみると,kD はエントリによってはもっともっと違うのもありますね.

# 昔,emacs のために xmodmap で BS<=>DEL 入れ替えを行うようにしていたんですが,
# 最近は若干流れが変わった(?)ようで,若干不便に思うことも出てきました.
-- 
       ∧∧               
Zzz.. (- - )⌒⌒⊇〜         川口 銀河
      ##############   ginga-fj-swentemporal@ginganet.org