2005年9月26日の日記を表示中
2005年 9月 26日 (月)
■何!?あ,頭が・・・
うがぁ,何か今日は午後からずっと頭が痛いっす・・・.疲れているときに出るあれか・・・.
[コメントを書く]
■uim.elのキーマップ
うーん,そのやり方は,かなり初期の段階で試したんですが,何かの理由があってあきらめた覚えがあります.・・・が,今改めて見直してみると,結構いけそうな気も.というわけで,やってみました.
(defconst uim-emacs-prefix-keys '(help-command Control-X-prefix mode-specific-command-prefix ctl-x-4-prefix ctl-x-5-prefix vc-prefix-map )) (defun uim-init-keymap () (setq uim-mode-map (make-sparse-keymap)) (setq uim-preedit-map (make-sparse-keymap)) (define-prefix-command 'uim-escape-map) (let ((prefixs uim-emacs-prefix-keys)) (while prefixs (let ((prefix-keys (where-is-internal (car prefixs)))) (while prefix-keys (define-key uim-mode-map (car prefix-keys) (car prefixs)) (setq prefix-keys (cdr prefix-keys)))) (setq prefixs (cdr prefixs)))) (if uim-emacs (define-key uim-mode-map [(escape)] 'ESC-prefix)) (cond (uim-xemacs (set-keymap-default-binding uim-escape-map 'uim-process-input) (set-keymap-default-binding uim-mode-map 'uim-process-input) (set-keymap-default-binding uim-preedit-map 'uim-process-input)) (uim-emacs (define-key uim-escape-map (vector t) 'uim-process-input) (define-key uim-mode-map (vector t) 'uim-process-input) (define-key uim-preedit-map (vector t) 'uim-process-input))) (define-key uim-mode-map [27] 'uim-escape-map))
うおお,超小さくなったっ!しかも,今までよりはるかにエレガント!もう過去には戻れません.が,これだとまだいくつか問題が残ってたりします.
- マウス操作とメニュー操作も拾ってしまうため,これらを例外として登録するか,uim-agentがスルーした後に処理するようにuim-key.elの方を直す必要がある(XEmacsはスルー後処理できるっぽい)
- XEmacsで,Esc-Esc-Escを実現する方法が不明(XEmacsはキーマップの中が見えないのが辛い・・・)
- X環境で動かしてるGNU Emacsだと,非プリエディット時に単発Escape押した場合に,エコー領域に「ESC」ではなく「escape」と出て気持ち悪い
とは言え,これで未知のキー入力に対しても対応できるわけで,やっぱこっちの方が全然いいっすね.ちなみに,「keyboard-quit」と「universal-argument」は,以前は非インタラクティブに呼ぶと何かうまく実行できなかったはずなんで例外扱いにしてたんですが,今はちゃんと動く模様.ここで直ったのかな?まあ,例外が減らせてよかったっす・・・.ちなみに,「set-keymap-default-binding」,さっき初めて知りました(;´Д`).
[コメントを書く]
[コメントを書く]
■花映塚
その後,うどんげ,魔理沙,咲夜と1回ずつやったんですが,全員8面か9面で終了orz.2順目始めようとしたらブルースクリーンでマシンが落ちました_|‾|○.とりあえず今のマシンだと,デフォルトだと天空のステージが重くてしかたないっす.画面を16bitにすると処理落ちしなくなりますが・・・.ケース小さいからあんま熱いカードいれられないんだよなー.なー.なー・・・.
[コメントを書く]
[コメントを書く]
2005年9月26日の日記を表示中
[コメントを書く]