diff --git a/man/form_driver.3x b/man/form_driver.3x
index 4084eac..882a49d 100644
--- a/man/form_driver.3x
+++ b/man/form_driver.3x
@@ -1,5 +1,7 @@
+'\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2010,2015 Free Software Foundation, Inc.              *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
+.\" Copyright 1998-2016,2017 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            *
@@ -26,28 +28,32 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_driver.3x,v 1.24 2015/08/02 18:21:11 tom Exp $
-.TH form_driver 3X ""
+.\" $Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp $
+.TH form_driver 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
 .de bP
-.IP \(bu 4
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
 ..
 .SH NAME
-\fBform_driver\fR \- command-processing loop of the form system
+\fBform_driver\fP,
+\fBform_driver_w\fP \-
+command-processing loop of the form system
 .SH SYNOPSIS
-\fB#include <form.h>\fR
-.br
-\fBint form_driver(FORM *\fP\fIform\fP\fB, int \fP\fIc\fP\fB);\fP
-.br
-\fBint form_driver_w(FORM *\fP\fIform\fP\fB, int \fP\fIc\fP\fB, wchar_t \fP\fIwch\fP\fB);\fP
-.br
+.nf
+\fB#include <form.h>
+.PP
+\fBint form_driver(FORM *\fIform\fP, int \fIc\fP);
+\fBint form_driver_w(FORM *\fIform\fP, int \fIc\fP, wchar_t \fIwc\fP);
+.fi
 .SH DESCRIPTION
 .SS form_driver
 Once a form has been posted (displayed), you should funnel input events to it
-through \fBform_driver\fR.  This routine has three major input cases:
+through \fBform_driver\fP.  This routine has three major input cases:
 .bP
 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(3X).
+which are distinct from the key- and character codes returned
+by \fBwgetch\fP(3X).
 .bP
 The input is a printable character.
 Printable characters (which must be positive, less than 256) are
@@ -55,33 +61,32 @@
 .bP
 The input is the KEY_MOUSE special key associated with an mouse event.
 .SS form_driver_w
-.PP
 This extension simplifies the use of the forms library using wide characters.
 The input is either a key code (a request) or a wide character
 returned by \fBget_wch\fP(3X).
 The type must be passed as well,
 to enable the library to determine whether the parameter
 is a wide character or a request.
-.SS Form-driver requests
-.PP
+.SS "Form Driver Requests"
 The form driver requests are as follows:
+.PP
 .TS
-l l
-_ _ _
-l l.
-\fIName\fR	\fIDescription\fR
-REQ_BEG_FIELD	Move to the beginning of the field.
-REQ_BEG_LINE	Move to the beginning of the line.
+Lb Lb
+Lb Lx.
+Name	Description
+_
+REQ_BEG_FIELD	Move to beginning of field.
+REQ_BEG_LINE	Move to 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_DEL_WORD	Delete blank-delimited word at cursor.
+REQ_DOWN_CHAR	Move down in field.
 REQ_DOWN_FIELD	Move down to a field.
-REQ_END_FIELD	Move to the end of the field.
+REQ_END_FIELD	Move to the end of 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.
@@ -90,7 +95,7 @@
 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_CHAR	Move left in 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.
@@ -107,34 +112,61 @@
 REQ_PREV_LINE	Move to the previous line.
 REQ_PREV_PAGE	Move to the previous page.
 REQ_PREV_WORD	Move to the previous word.
-REQ_RIGHT_CHAR	Move right in the field.
+REQ_RIGHT_CHAR	Move right in field.
 REQ_RIGHT_FIELD	Move right to a field.
-REQ_SCR_BCHAR	Scroll the field backward a character.
-REQ_SCR_BHPAGE	Scroll the field backward half a page.
-REQ_SCR_BLINE	Scroll the field backward a line.
-REQ_SCR_BPAGE	Scroll the field backward a page.
-REQ_SCR_FCHAR	Scroll the field forward a character.
-REQ_SCR_FHPAGE	Scroll the field forward half a page.
-REQ_SCR_FLINE	Scroll the field forward a line.
-REQ_SCR_FPAGE	Scroll the field forward a page.
-REQ_SCR_HBHALF	Horizontal scroll the field backward half a line.
-REQ_SCR_HBLINE	Horizontal scroll the field backward a line.
-REQ_SCR_HFHALF	Horizontal scroll the field forward half a line.
-REQ_SCR_HFLINE	Horizontal scroll the field forward a line.
+REQ_SCR_BCHAR	Scroll field backward 1 character.
+REQ_SCR_BHPAGE	Scroll field backward \(12 page.
+REQ_SCR_BLINE	Scroll field backward 1 line.
+REQ_SCR_BPAGE	Scroll field backward 1 page.
+REQ_SCR_FCHAR	Scroll field forward 1 character.
+REQ_SCR_FHPAGE	Scroll field forward \(12 page.
+REQ_SCR_FLINE	Scroll field forward 1 line.
+REQ_SCR_FPAGE	Scroll field forward 1 page.
+REQ_SCR_HBHALF	Horizontal scroll field backward \(12 line.
+REQ_SCR_HBLINE	Horizontal scroll field backward 1 line.
+REQ_SCR_HFHALF	Horizontal scroll field forward \(12 line.
+REQ_SCR_HFLINE	Horizontal scroll field forward 1 line.
 REQ_SFIRST_FIELD	Move to the sorted first field.
 REQ_SLAST_FIELD	Move to the sorted last field.
 REQ_SNEXT_FIELD	Move to the sorted next field.
 REQ_SPREV_FIELD	Move to the sorted previous field.
-REQ_UP_CHAR	Move up in the field.
+REQ_UP_CHAR	Move up in field.
 REQ_UP_FIELD	Move up to a field.
 REQ_VALIDATION	Validate field.
 .TE
 .PP
 If the second argument is a printable character, the driver places it
-in the current position in the current field.  If it is one of the forms
+in the current position in the current field.
+If it is one of the forms
 requests listed above, that request is executed.
-.SS Mouse handling
+.SS "Field Validation"
+The form library makes updates to the window associated
+with form fields rather than directly to the field buffers.
 .PP
+The form driver provides low-level control over updates to the form fields.
+The form driver also provides for validating modified fields
+to ensure that the contents
+meet whatever constraints an application may attach using \fBset_field_type\fP.
+.PP
+You can validate a field without making any changes to it using
+\fBREQ_VALIDATION\fP.
+The form driver also validates a field in these cases:
+.bP
+a call to \fBset_current_field\fP attempts to move to a different field.
+.bP
+a call to \fBset_current_page\fP attempts to move
+to a different page of the form.
+.bP
+a request attempts to move to a different field.
+.bP
+a request attempts to move to a different page of the form.
+.PP
+In each case, the move fails if the field is invalid.
+.PP
+If the modified field is valid, the form driver copies the modified
+data from the window associated with the field
+to the field buffer.
+.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 form display
@@ -167,7 +199,7 @@
 .bP
 If you double-click a field,
 the form cursor is positioned to that field
-and \fBE_UNKNOWN_COMMAND\fR is returned.
+and \fBE_UNKNOWN_COMMAND\fP is returned.
 This return value makes sense,
 because a double click usually means that an field-specific action should
 be returned.
@@ -175,20 +207,20 @@
 application specific command should be executed.
 .bP
 If a translation
-into a request was done, \fBform_driver\fR returns the result of this request.
+into a request was done, \fBform_driver\fP returns the result of this request.
 .RE
 .PP
-If you clicked outside the user window or the mouse event could not be translated
-into a form request an \fBE_REQUEST_DENIED\fR is returned.
-.SS Application-defined commands
-.PP
+If you clicked outside the user window
+or the mouse event could not be translated
+into a form request an \fBE_REQUEST_DENIED\fP is returned.
+.SS "Application-defined Commands"
 If the second argument is neither printable nor one of the above
 pre-defined form requests, the driver assumes it is an application-specific
-command and returns \fBE_UNKNOWN_COMMAND\fR.  Application-defined commands
-should be defined relative to \fBMAX_COMMAND\fR, the maximum value of these
+command and returns \fBE_UNKNOWN_COMMAND\fP.  Application-defined commands
+should be defined relative to \fBMAX_COMMAND\fP, the maximum value of these
 pre-defined requests.
 .SH RETURN VALUE
-\fBform_driver\fR returns one of the following error codes:
+\fBform_driver\fP returns one of the following error codes:
 .TP 5
 .B E_OK
 The routine succeeded.
@@ -205,26 +237,29 @@
 .B E_INVALID_FIELD
 Contents of field is invalid.
 .TP 5
+.B E_NOT_CONNECTED
+No fields are connected to the form.
+.TP 5
 .B E_REQUEST_DENIED
 The form driver could not process the request.
 .TP 5
 .B E_SYSTEM_ERROR
-System error occurred (see \fBerrno\fR).
+System error occurred (see \fBerrno\fP(3)).
 .TP 5
 .B E_UNKNOWN_COMMAND
 The form driver code saw an unknown request code.
-.
-.SH SEE ALSO
-\fBcurses\fR(3X),
-\fBform\fR(3X),
-\fBform_variables\fR(3X),
-\fBgetch\fR(3X).
-.SH NOTES
-The header file \fB<form.h>\fR automatically includes the header files
-\fB<curses.h>\fR.
 .SH PORTABILITY
-These routines emulate the System V forms library.  They were not supported on
+These routines emulate the System V forms library.
+They were not supported on
 Version 7 or BSD versions.
 .SH AUTHORS
-Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
-S. Raymond.
+Juergen Pfeifer.
+Manual pages and adaptation for new curses by Eric S. Raymond.
+.SH SEE ALSO
+\fB\%curses\fP(3X),
+\fB\%form\fP(3X),
+\fB\%form_fieldtype\fP(3X),
+\fB\%form_field_buffer\fP(3X),
+\fB\%form_field_validation\fP(3X),
+\fB\%form_variables\fP(3X),
+\fB\%getch\fP(3X)
