info-stnd: infokey format

1 
1 14.1 'infokey' format
1 =====================
1 
1 Here is an example '.infokey' file which specifies the key bindings that
1 are activated by the '--vi-keys' option to Info (⇒--vi-keys).
1 
1      #info
1      g       first-node
1      G       last-node
1      \mb     beginning-of-node
1      \me     end-of-node
1      j       next-line
1      k       prev-line
1 
1      f       scroll-forward-page-only
1      ^f      scroll-forward-page-only
1      \m\     scroll-forward-page-only
1      z       scroll-forward-page-only-set-window
1 
1      b       scroll-backward-page-only
1      ^b      scroll-backward-page-only
1      w       scroll-backward-page-only-set-window
1 
1      \kd     down-line
1      ^e      down-line
1      ^j      down-line
1      ^m      down-line
1      \ku     up-line
1      ^y      up-line
1      ^k      up-line
1 
1      d       scroll-half-screen-down
1      ^d      scroll-half-screen-down
1      u       scroll-half-screen-up
1      ^u      scroll-half-screen-up
1 
1      ^xn     next-node
1      ^xp     prev-node
1      ^xu     up-node
1      '       last-node
1      \mt     top-node
1      \md     dir-node
1 
1      ^xg     goto-node
1      I       goto-invocation-node
1 
1      n       search-next
1      N       search-previous
1 
1      \mf     xref-item
1      ^xr     xref-item
1 
1      \mg     select-reference-this-line
1      ^x^j    select-reference-this-line
1      ^x^m    select-reference-this-line
1 
1      ^c      abort-key
1 
1      \mh     get-info-help-node
1 
1      :q      quit
1      ZZ      quit
1 
1      #echo-area
1      \mh     echo-area-backward
1      \ml     echo-area-forward
1      \m0     echo-area-beg-of-line
1      \m$     echo-area-end-of-line
1      \mw     echo-area-forward-word
1      \mx     echo-area-delete
1      \mu     echo-area-abort
1      ^v      echo-area-quoted-insert
1      \mX     echo-area-kill-word
1 
1    The file consists of one or more "sections".  Each section starts
1 with a line that identifies the type of section.  The possible sections
1 are:
1 
1 '#info'
1      Key bindings for Info windows.  The start of this section is
1      indicated by a line containing just '#info' by itself.  If this is
1      the first section in the source file, the '#info' line can be
1      omitted.  The rest of this section consists of lines of the form:
1 
1           STRING whitespace ACTION [ whitespace [ # comment ] ] newline
1 
1      Whitespace is any sequence of one or more spaces and/or tabs.
1      Comment is any sequence of any characters, excluding newline.
1      STRING is the key sequence which invokes the action.  ACTION is the
1      name of an Info command.  The characters in STRING are interpreted
1      literally or prefixed by a caret ('^') to indicate a control
1      character.  A backslash followed by certain characters specifies
1      input keystrokes as follows:
1 
1      '\b'
1           Backspace
1      '\e'
1           Escape (ESC)
1      '\n'
1           Newline
1      '\r'
1           Return
1      '\t'
1           Tab
1      '\ku'
1           Up arrow
1      '\kd'
1           Down arrow
1      '\kl'
1           Left arrow
1      '\kr'
1           Right arrow
1      '\kU'
1           Page Up
1      '\kD'
1           Page Down
1      '\kh'
1           HOME
1      '\ke'
1           END
1      '\kx'
1           Delete (DEL)
1      '\mX'
1           Meta-X where X is any character as described above.
1 
1      Backslash followed by any other character indicates that character
1      is to be taken literally.  Characters which must be preceded by a
1      backslash include caret, space, tab, and backslash itself.
1 
1 '#echo-area'
1      Key bindings for the echo area.  The start of this section is
1      indicated by a line containing just '#echo-area' by itself.  The
1      rest of this section has a syntax identical to that for the key
1      definitions for the Info area, described above.
1 
1 '#var'
1      Variable initializations.  The start of this section is indicated
1      by a line containing just '#var' by itself.  Following this line is
1      a list of variable assignments, one per line.  Each line consists
1      of a variable name (⇒Variables) followed by '=' followed by
1      a value.  There may be no white space between the variable name and
1      the '=', and all characters following the '=', including white
1      space, are included in the value.
1 
1    Blank lines and lines starting with '#' are ignored, except for the
1 special section header lines.
1 
1    Key bindings defined in the '.infokey' file take precedence over GNU
1 Info's default key bindings, whether or not '--vi-keys' is used.  A
1 default key binding may be disabled by overriding it in the '.infokey'
1 file with the action 'invalid'.  In addition, _all_ default key bindings
1 can be disabled by adding this line _anywhere_ in the relevant section:
1 
1      #stop
1 
1    This will cause GNU Info to ignore all the default key commands for
1 that section.
1 
1    Beware: '#stop' can be dangerous.  Since it disables all default key
1 bindings, you must supply enough new key bindings to enable all
1 necessary actions.  Failure to bind any key to the 'quit' command, for
1 example, can lead to frustration.
1 
1    The order in which key bindings are defined in the '.infokey' file is
1 not important, except that the command summary produced by the
1 'get-help-window' command only displays the _first_ key that is bound to
1 each command.
1