emacs: Function Keys

 
 51.3.8 Rebinding Function Keys
 ------------------------------
 
 Key sequences can contain function keys as well as ordinary characters.
 Just as Lisp characters (actually integers) represent keyboard
 characters, Lisp symbols represent function keys.  If the function key
 has a word as its label, then that word is also the name of the
 corresponding Lisp symbol.  Here are the conventional Lisp names for
 common function keys:
 
 ‘LEFT’, ‘UP’, ‘RIGHT’, ‘DOWN’
      Cursor arrow keys.
 
 ‘Begin’, ‘End’, ‘Home’, ‘next’, ‘prior’
      Other cursor repositioning keys.
 
 ‘select’, ‘print’, ‘execute’, ‘backtab’
 ‘insert’, ‘undo’, ‘redo’, ‘clearline’
 ‘insertline’, ‘deleteline’, ‘insertchar’, ‘deletechar’
      Miscellaneous function keys.
 
 ‘f1’, ‘f2’, ... ‘f35’
      Numbered function keys (across the top of the keyboard).
 
 ‘kp-add’, ‘kp-subtract’, ‘kp-multiply’, ‘kp-divide’
 ‘kp-backtab’, ‘kp-space’, ‘kp-tab’, ‘kp-enter’
 ‘kp-separator’, ‘kp-decimal’, ‘kp-equal’
      Keypad keys (to the right of the regular keyboard), with names or
      punctuation.
 
 ‘kp-0’, ‘kp-1’, ... ‘kp-9’
      Keypad keys with digits.
 
 ‘kp-f1’, ‘kp-f2’, ‘kp-f3’, ‘kp-f4’
      Keypad PF keys.
 
    These names are conventional, but some systems (especially when using
 X) may use different names.  To make certain what symbol is used for a
 given function key on your terminal, type ‘C-h c’ followed by that key.
 
    SeeInit Rebinding, for examples of binding function keys.
 
    Many keyboards have a numeric keypad on the right hand side.  The
 numeric keys in the keypad double up as cursor motion keys, toggled by a
 key labeled ‘Num Lock’.  By default, Emacs translates these keys to the
 corresponding keys in the main keyboard.  For example, when ‘Num Lock’
 is on, the key labeled ‘8’ on the numeric keypad produces ‘kp-8’, which
 is translated to ‘8’; when ‘Num Lock’ is off, the same key produces
 ‘kp-up’, which is translated to <UP>.  If you rebind a key such as ‘8’
 or <UP>, it affects the equivalent keypad key too.  However, if you
 rebind a ‘kp-’ key directly, that won’t affect its non-keypad
 equivalent.  Note that the modified keys are not translated: for
 instance, if you hold down the <META> key while pressing the ‘8’ key on
 the numeric keypad, that generates ‘M-<kp-8>’.
 
    Emacs provides a convenient method for binding the numeric keypad
 keys, using the variables ‘keypad-setup’, ‘keypad-numlock-setup’,
 ‘keypad-shifted-setup’, and ‘keypad-numlock-shifted-setup’.  These can
 be found in the ‘keyboard’ customization group (SeeEasy
 Customization).  You can rebind the keys to perform other tasks, such
 as issuing numeric prefix arguments.