[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:24604] Re: canna 変換中の矢印キー (?)
新保と申します.
>>としましたが、これは以前にも試してダメでした。X では OK なので termcap
>>(terminfo) の問題のような気もするのですが、もし emacs-dl-canna の仕様
>>なのでしたら諦めますが。
>>
>>> 多分あまりkon+cannaで使っている人がいないからだれも気づいていないと
>>> 思うんですが、
~/.canna 中で, こう書いたらどうでしょうか?
(if (equal (getenv "TERM") "kon")
(progn
(global-set-key "\Escape[C" 'forward) ; right-arrow
(global-set-key "\Escape[D" 'backward) ; left-arrow
))
こちらの環境では, emacs20-dl (20.7-5) + kon2 (0.3.9b-3) 上で,
これで左右の矢印キーが使えました.
# 他に ~/.emacs 中で, canna-mode-map を書き換える方法もあります.
(以下, 少々脱線しているかもしれませんが,)
こうすれば emacs 中では ok になるのですが,
jvim (3.0-2.0-2), jed-canna (0.98.7.j055-2) では
あいかわらずファンクションキー, カーソルキーが使えません
(kon, kterm, rxvt を問わず).
これは別に原因があって, slink, potato に納められている
libcanna1g パッケージ (3.5b2-23, -24, -25) が,
libcanna1g 内部のキーコード >= 128 のキー
(ほとんどのカーソルキー, ファンクションキーが該当)
を正しく扱えないからです.
これについては以前 debian.org の BTS 宛に報告しました.
Bug#58667 ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=58667 )
# まだ対処していただいてないようですが, よろしくお願いします >メンテナ様
当方では, この報告の中につけた patch を当てて再コンパイルすると,
~/.canna に書いた
(global-set-key "\Left" 'backward)
(global-set-key "\Right" 'forward)
(global-set-key "\S-Left" 'shrink)
(global-set-key "\S-Right" 'extend)
といった記述を jvim, jed-canna で有効にすることができています.
# もっとも \S-Left, \S-Right は, terminfo でサポートされてないと
# だめですが. rxvt-ml は ok, kterm はだめで terminfo と X の
# リソース定義が必要 (?). kon もそのままではだめだと思います.
本当は, 上記の patch を libcanna1g にあてた上で,
/usr/share/emacs/site-lisp/dl-canna/canna.el が function-key-map
を見てそれに見合った内部キーコードを libcanna に渡すような設計に
なっていればきれいに解決すると思うんですが, 残念ながらそうは
なっていないので (apel を使用しているせい?), 別々に対処することに
なってしまいます...
新保 仁 <shimbo@xxxxxxxxxxxxxxxxx>