.\"***************************************************************************
-.\" Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_driver.3x,v 1.15 2008/06/21 21:55:30 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:
.PP
If the second argument is the KEY_MOUSE special key, the associated
mouse event is translated into one of the above pre-defined requests.
-Currently only clicks in the user window (e.g. inside the menu display
+Currently only clicks in the user window (e.g., inside the menu display
area or the decoration window) are handled.
.PP
If you click above the display region of the menu:
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