Backspaceが0x08ないし0x7fを返すことにどう対応するか問題…OpenBSDのmg(emacs-like text editor)はM-x bsmap-modeでC-h(0x08)とDEL(0x7f)の役割を交換できるようになっている。
bs_mapの設定によって、kbd.cのgetkey()で(必要に応じ)0x08←→0x7fの交換が起こる。
sttyの設定とは関係なく、0x08, 0x7f決め打ちなんすね…
OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
Backspaceが0x08ないし0x7fを返すことにどう対応するか問題…OpenBSDのmg(emacs-like text editor)はM-x bsmap-modeでC-h(0x08)とDEL(0x7f)の役割を交換できるようになっている。
bs_mapの設定によって、kbd.cのgetkey()で(必要に応じ)0x08←→0x7fの交換が起こる。
sttyの設定とは関係なく、0x08, 0x7f決め打ちなんすね…
とりあえずBackspaceで意図しないBuffer modeの確定が起こってしまう問題はsj3だけに限った理由じゃないということで一旦放置か(なるほど動作要件がここまで面倒なら確かにkinput2越しの方が現実的だわなあ)。
jfbtermとかkon辺りだとBS/DELキーの扱いがどうなるかというのは気になるところだけど、これも一旦置いとく?
stty erase ^Hを^?に変えれば良いのか?という問題で本当に良いんだろうか?Ctrl-HもBackspaceも同様に使ってる人はそれで困るんじゃないかって気もするけど。あとはXのキーマップをいじる(嫌だあああああ)。
funckey.cのeval_key()とかeval_keys()はちゃんと^?をDEL(0x7f)に解釈してくれる。sttyのerase(VERASE)はsj3.cのget_ttymode()で取得して、sjrcのパースがこの取得の前か後。rk_conv.c側でもrk_eraseで独自にerase文字を持っていたりするので、簡単にBS/DEL両対応って訳にはいかない感じか…?(めんどい)
.sjrc(Sjrc)のパース、eucmessages.cのinit_funcs()とかEucMessages[]に定義されたキーワードに対応する関数を実行するとかそういう作りになってるのか。
つまり、何かを追加するならそれに対応するキーワードと関数をこの辺に追加しないといけない(とってもめんどい)。