@c $Id: online-help.texi,v 23.505 2005/11/25 16:30:53 raman Exp $
@node Using Online Help
@chapter Using Online Help With Emacspeak.

Emacs provides an extensive online help system for helping you learn 
about various aspects of using Emacs. Emacspeak provides online help for
its various extensions using this same help system.
This chapter explains how to use the online help facilities in order to
empower you in discovering powerful and versatile working techniques
that will make you more and more productive in your day to day computing.

The online help options are accessed via the @kbd{C-h} prefix key,
which must be followed by an additional letter or control character to
designate the kind of help desired.
 For example, @kbd{C-h t}
@code{help-with-tutorial} visits the Emacs tutorial in a new buffer;
@kbd{C-h i} @code{info} enters the Info documentation system, from
which you can read Texinfo manuals that have been installed on your
system, including the Emacs and Emacspeak documentation; and @kbd{C-h
k} @code{describe-key} provides a description of the Emacs function
which is bound to the next key that you type.
For learning about the various  options  that are available via the
@kbd{C-h} mechanism described above,
view the online help for command @code{help-for-help} 
bound to @kbd{C-h C-h} ---using what has been described so far,
you would achieve this by pressing @kbd{C-h k} followed by @kbd{C-h
C-h}.

Emacspeak users should note that online help is typically displayed in a
separate Emacs window. Where it makes sense to do so, Emacspeak will
automatically speak the displayed help.
Once you've asked for help, you can have the 
displayed documentation as many times as you wish using Emacspeak
command @code{emacspeak-speak-help} bound to @kbd{C-e h}.
If you want to move through the displayed help a line at a time, switch
to the buffer where the help is displayed --the buffer is called 
@code{*Help*}.

 Often, in adding an auditory interface to an Emacs extension, such as a
web browser or mail reader, Emacspeak defines additional commands and
key bindings which enhance the functionality of the spoken feedback
provided by the application. This manual does not purport to document
all such commands. It is important, therefore, when learning to use the
various Emacs extensions which comprise the `audio desktop'
(@pxref{Audio Desktop}) that you take advantage of online help to obtain
details of any context-specific features provided by Emacspeak.  The
following two commands are of particular importance in this regard:

@itemize  @bullet
@item @kbd{C-h m} @code{describe-mode} explains which
major and minor modes are currently in effect, and lists the commands
and key bindings associated with them.

@item @kbd{C-h b}
@code{describe-bindings} lists all of the key bindings which are
currently defined.
@end itemize

The importance of these help functions can be illustrated by the
Emacs/W3 web browser. When point is positioned inside a table, certain
key bindings are established with which you can access Emacspeak
commands that make it possible to read the rows and columns of the
table and explore its structure efficiently. To get a description of these
key bindings, you can use W3 to visit the sample HTML file supplied as
part of the Emacspeak distribution, and, after having moved point onto
the first row of the table, issue the command @kbd{C-h m}
@code{describe-mode} to create a help buffer containing an explanation
of the features offered by W3 mode.

Emacspeak supplements the online help facilities available within
Emacs by defining several commands of its own, as follows:

@itemize @bullet
@item @kbd{C-h c-e} @code{describe-emacspeak} presents a list of
standard Emacspeak commands.

@item @kbd{C-e F} @code{emacspeak-view-emacspeak-faq} opens a new
buffer containing the Emacspeak FAQ, a list of frequently asked
questions about Emacspeak together with their answers.

@item @kbd{C-e C-h} @code{emacspeak-learn-mode} enters a mode in which
the function of every key that you type is spoken; this mode can be
terminated with the @kbd{C-g} @code{keyboard-quit} command.

@item @kbd{M-x emacspeak-generate-documentation} prompts for the name
of a file in which it saves an automatically generated summary of all
Emacspeak commands.
@end itemize
