課題
Mac 上の Emacs で Ctrl+Cmd+↑
に toggle-frame-fullscreen
を割り当てたかったが、 global-set-key
の第一引数をどう指定すればいいのか分からなかった
解決方法
Ctrl+h k
に続けて Ctrl+Cmd+↑
を入力すると、
<C-s-up> is undefined
とエコーエリアに表示され、このキーバインドが未割り当てであることと、その表現が <C-s-up>
であることがわかる(ちなみに Ctrl+h k
自体が何をしているかを知るには Ctrl+h k Ctrl+h k
とすればよく、 describe-key
関数を呼んでいるとわかる)。
ここで得られた "<C-s-up>"
をそのまま指定しても駄目
(global-set-key "<C-s-up>" 'toggle-frame-fullscreen)
=> Debugger entered--Lisp error: (error "Key sequence < C - s - u p > starts with non-prefix key <")
で、それを kbd
関数に渡した戻り値を使って
(global-set-key (kbd "<C-s-up>") 'toggle-frame-fullscreen)
とするとうまくいった。