efaq: Binding combinations of modifiers and function keys
9.12 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):
(global-set-key [?\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:
(global-set-key [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.
Binding keys to commands, for general key binding
instructions.