+<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+
+
+
+
+</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
+ <STRONG>form_driver</STRONG>, <STRONG>form_driver_w</STRONG> - command-processing loop of the form system
+
+
+</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
+ <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+
+
+</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
+
+</PRE><H3><a name="h3-form_driver">form_driver</a></H3><PRE>
+ Once a form has been posted (displayed), you should funnel input events
+ to it through <STRONG>form_driver</STRONG>. This routine has three major input cases:
+
+ <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
+ are constants defined in <STRONG><form.h></STRONG>, which are distinct from the key-
+ and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+
+ <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ must be positive, less than 256) are checked according to the pro-
+ gram's locale settings.
+
+ <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ event.
+
+
+</PRE><H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
+ This extension simplifies the use of the forms library using wide char-
+ acters. The input is either a key code (a request) or a wide character
+ returned by <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>. The type must be passed as well, to enable
+ the library to determine whether the parameter is a wide character or a
+ request.
+
+
+</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
+ The form driver requests are as follows:
+
+ <EM>Name</EM> <EM>Description</EM>
+ ---------------------------------------------------------------------
+ REQ_BEG_FIELD Move to the beginning of the field.
+ REQ_BEG_LINE Move to the beginning of the line.
+ REQ_CLR_EOF Clear to end of field from cursor.
+ REQ_CLR_EOL Clear to end of line from cursor.
+ REQ_CLR_FIELD Clear the entire field.
+ REQ_DEL_CHAR Delete character at the cursor.
+ REQ_DEL_LINE Delete line at the cursor.
+ REQ_DEL_PREV Delete character before the cursor.
+ REQ_DEL_WORD Delete blank-delimited word at the cursor.
+ REQ_DOWN_CHAR Move down in the field.
+ REQ_DOWN_FIELD Move down to a field.
+ REQ_END_FIELD Move to the end of the field.
+ REQ_END_LINE Move to the end of the line.
+ REQ_FIRST_FIELD Move to the first field.
+ REQ_FIRST_PAGE Move to the first page.
+ REQ_INS_CHAR Insert a blank at the cursor.
+ REQ_INS_LINE Insert a blank line at the cursor.
+ REQ_INS_MODE Enter insert mode.
+ REQ_LAST_FIELD Move to the last field.
+ REQ_LAST_PAGE Move to the last field.
+ REQ_LEFT_CHAR Move left in the field.
+ REQ_LEFT_FIELD Move left to a field.
+ REQ_NEW_LINE Insert or overlay a new line.
+ REQ_NEXT_CHAR Move to the next char.
+ REQ_NEXT_CHOICE Display next field choice.