2005年10月2日の日記の1番目の記事へのコメント

uim.elターミナルで動かしたとき

fnキーとか矢印キーとか,Emacsを-nwつけて起動したときに使えてなかったことが判明ですよorz.えーと,Emacs的には,この辺のキーは,ターミナル上だとターミナルの種類によって「M-O A」とか「M-[ 1 1 ~」とかの複数ストロークのキーにマップされて到達するようになってて,その辺の定義がfunction-key-mapというマップに設定されるようになってます.

function-key-mapに関しては,キーマップ引いて,外れたらfunction-key-mapを手で引いてフォローってのが多分正しい処理なんですが,見ての通り,「M-O」とか「M-[」という,普通使わないようなプレフィックスキーから始まる複数ストロークのキーバインドなんで,キーマップにあらかじめ「M-[ 1 1 ~」とかのエントリを用意しておかないと,「M-[」が到達した時点でイベント処理関数が呼ばれちゃうため,後に続くキーがなんだかわかりません.続いて到達しているキーを読み出す方法,きっとあると思うんですが,リファレンス見てもよくわかんないんですよね.しょうがないからEmacsのソース読むか・・・(;´Д`).

で,ひとまずこの問題に関しては,キーマップ初期化時にfunction-key-mapを見て,あらかじめファンクションキーとして呼ばれそうなキーバインドを仕掛けておく,というひどい方法で対処します・・・が,やばいっすよこれ.途中でfunction-key-mapに変更あっても追随できないし.function-key-map自体を継承してしまうという方法もあるんですが,そうると今度は,this-command-keys関数で拾えるキー列が「M-[ 1 1 ~ f1」とかになってもう何がどうなってんだか(;´Д`).

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2005年10月2日の日記の1番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2005年10月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ