.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_driver.3x,v 1.16 2010/01/30 21:29:04 tom Exp $
+.\" $Id: menu_driver.3x,v 1.17 2010/07/31 15:16:18 tom Exp $
.TH menu_driver 3X ""
.SH NAME
-\fBmenu_driver\fR - command-processing loop of the menu system
+\fBmenu_driver\fR \- command-processing loop of the menu system
.SH SYNOPSIS
\fB#include <menu.h>\fR
.br
Once a menu has been posted (displayed), you should funnel input events to it
through \fBmenu_driver\fR. This routine has three major input cases:
.TP 3
--
+\-
The input is a form navigation request.
Navigation request codes are constants defined in \fB<form.h>\fP,
which are distinct from the key- and character codes returned by \fBwgetch\fP.
.TP 3
--
+\-
The input is a printable character.
Printable characters (which must be positive, less than 256) are
checked according to the program's locale settings.
.TP 3
--
+\-
The input is the KEY_MOUSE special key associated with an mouse event.
.PP
The menu driver requests are as follows:
If you click at an item inside the display area of the menu:
.RS
.TP 3
--
+\-
the menu cursor is positioned to that item.
.TP 3
--
+\-
If you double-click an item a REQ_TOGGLE_ITEM
is generated and \fBE_UNKNOWN_COMMAND\fR is returned.
This return value makes sense,
It is exactly the purpose of this return value to signal that an
application specific command should be executed.
.TP 3
--
+\-
If a translation
into a request was done, \fBmenu_driver\fR returns the result of this request.
.RE