Wednesday, March 31, 2010

NTEmacs で Super / Hyper モディファイアを使う

右に Windows キーのあるキーボードを使うようになったので、右の Win キーを Super モディファイアに、App キーを Hyper モディファイアに使えるよう NTEmacs を設定してみた。

;; 右 Win キーを Super モディファイアキーに
(setq w32-pass-rwindow-to-system nil)
(setq w32-rwindow-modifier 'super)

;; 左 Win キーを Super モディファイアキーに
;;(setq w32-pass-lwindow-to-system nil)
;;(setq w32-lwindow-modifier 'super)

;; Super + Shift + s で「先生!お願いしますっ!」
(define-key global-map [(s S s)] 'doctor)

;; App キーを Hyper モディファイアキーに
(setq w32-apps-modifier 'hyper)

;; Hyper + なんちゃらでフレーム操作
(define-key global-map [(H f)]
  '(lambda (arg) (interactive "p") (other-frame (- arg))))
(define-key global-map [(H b)]
  '(lambda (arg) (interactive "p") (other-frame arg)))
(define-key global-map [(H o)] 'other-frame)
(define-key global-map (kbd "H-2") 'make-frame-command)
(define-key global-map (kbd "H-0") 'delete-frame)

Win キーとの組み合わせは Windows シェルの explorer でホットキーに使われているキーがけっこうあって、いまいち使いづらい感じです。Windows のホットキーはアプリケーションにキーが渡る前に処理されるので、NTEmacs 側ではどうにもならないんですね。

他のモディファイアキーと組み合わせたり、prefix キーにすればあるいは…でも、そこまでして使いたいバインディングがあるわけじゃなく…。ちょっと活用が思いつかないなぁ。

App キーはふつうに便利に使えそう。

No comments:

Post a Comment