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日の日記を表示中

中の人情報

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

カレンダー

2005年9月
        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  

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ