.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: menu_driver.3x,v 1.40 2023/09/30 21:38:11 tom Exp $
-.TH menu_driver 3X 2023-09-30 "ncurses 6.4" "Library calls"
+.\" $Id: menu_driver.3x,v 1.45 2023/12/23 16:08:25 tom Exp $
+.TH menu_driver 3X 2023-12-23 "ncurses 6.4" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fBmenu_driver\fP \-
command-processing loop of the menu system
.SH SYNOPSIS
-\fB#include <menu.h>\fP
-.sp
-\fBint menu_driver(MENU *\fImenu\fB, int \fIc\fB);\fR
+.nf
+\fB#include <menu.h>
+.PP
+\fBint menu_driver(MENU *\fImenu\fP, int \fIc\fP);
+.fi
.SH DESCRIPTION
Once a menu has been posted (displayed), you should funnel input events to it
through \fBmenu_driver\fP. This routine has three major input cases:
.PP
If the second argument is one of the above pre-defined requests, the
corresponding action is performed.
-.SS MOUSE HANDLING
+.SS "Mouse Handling"
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
If you clicked outside the user window
or the mouse event could not be translated
into a menu request an \fBE_REQUEST_DENIED\fP is returned.
-.SS APPLICATION-DEFINED COMMANDS
+.SS "Application-defined Commands"
If the second argument is neither printable nor one of the above
pre-defined menu requests or KEY_MOUSE,
the drive assumes it is an application-specific
.TP 5
.B E_REQUEST_DENIED
The menu driver could not process the request.
-.SH NOTES
-The header file \fB<menu.h>\fP automatically includes the header files
-\fB<curses.h>\fP.
.SH PORTABILITY
These routines emulate the System V menu library.
They were not supported on
Version 7 or BSD versions.
-The support for mouse events is ncurses specific.
+The support for mouse events is \fI\%ncurses\fP specific.
.SH AUTHORS
Juergen Pfeifer.
Manual pages and adaptation for new curses by Eric S. Raymond.