How do I bind a combination of modifier key and function key?
You can represent modified function keys in vector format by adding prefixes to the function key symbol. For example (from the Emacs documentation):
emacs-lisp
(keymap-global-set "C-x <right>" 'forward-page)where ‘?\C-x’ is the Lisp character constant for the character C-x.
You can use the modifier keys Control, Meta, Hyper, Super, Alt, and Shift with function keys. To represent these modifiers, prepend the strings ‘C-’, ‘M-’, ‘H-’, ‘s-’, ‘A-’, and ‘S-’ to the symbol name. Here is how to make H-M-RIGHT move forward a word:
emacs-lisp
(keymap-global-set "H-M-<right>" 'forward-word)- Not all modifiers are permitted in all situations. Hyper, Super, and Alt are not available on Unix character terminals. Non-ASCII keys and mouse events (e.g., C-= and mouse-1) also fall under this category.
See How do I bind keys (including function keys) to commands?, for general key binding instructions.