diff --git a/man/form_driver.3x b/man/form_driver.3x
index 4b0576f..4084eac 100644
--- a/man/form_driver.3x
+++ b/man/form_driver.3x
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2010,2015 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,223 +26,122 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: form_driver.3x,v 1.16 2008/06/21 21:55:39 tom Exp $
+.\" $Id: form_driver.3x,v 1.24 2015/08/02 18:21:11 tom Exp $
 .TH form_driver 3X ""
+.de bP
+.IP \(bu 4
+..
 .SH NAME
-\fBform_driver\fR - command-processing loop of the form system
+\fBform_driver\fR \- command-processing loop of the form system
 .SH SYNOPSIS
 \fB#include <form.h>\fR
 .br
-int form_driver(FORM *form, int c);
+\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
 .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:
-.TP 3
--
+.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.
-.TP 3
--
+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
 checked according to the program's locale settings.
-.TP 3
--
+.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
 The form driver requests are as follows:
-.TP 5
-REQ_NEXT_PAGE
-Move to the next page.
-.TP 5
-REQ_PREV_PAGE
-Move to the previous page.
-.TP 5
-REQ_FIRST_PAGE
-Move to the first page.
-.TP 5
-REQ_LAST_PAGE
-Move to the last field.
-.sp
-.TP 5
-REQ_NEXT_FIELD
-Move to the next field.
-.TP 5
-REQ_PREV_FIELD
-Move to the previous field.
-.TP 5
-REQ_FIRST_FIELD
-Move to the first field.
-.TP 5
-REQ_LAST_FIELD
-Move to the last field.
-.TP 5
-REQ_SNEXT_FIELD
-Move to the sorted next field.
-.TP 5
-REQ_SPREV_FIELD
-Move to the sorted previous field.
-.TP 5
-REQ_SFIRST_FIELD
-Move to the sorted first field.
-.TP 5
-REQ_SLAST_FIELD
-Move to the sorted last field.
-.TP 5
-REQ_LEFT_FIELD
-Move left to a field.
-.TP 5
-REQ_RIGHT_FIELD
-Move right to a field.
-.TP 5
-REQ_UP_FIELD
-Move up to a field.
-.TP 5
-REQ_DOWN_FIELD
-Move down to a field.
-.sp
-.TP 5
-REQ_NEXT_CHAR
-Move to the next char.
-.TP 5
-REQ_PREV_CHAR
-Move to the previous char.
-.TP 5
-REQ_NEXT_LINE
-Move to the next line.
-.TP 5
-REQ_PREV_LINE
-Move to the previous line.
-.TP 5
-REQ_NEXT_WORD
-Move to the next word.
-.TP 5
-REQ_PREV_WORD
-Move to the previous word.
-.TP 5
-REQ_BEG_FIELD
-Move to the beginning of the field.
-.TP 5
-REQ_END_FIELD
-Move to the end of the field.
-.TP 5
-REQ_BEG_LINE
-Move to the beginning of the line.
-.TP 5
-REQ_END_LINE
-Move to the end of the line.
-.TP 5
-REQ_LEFT_CHAR
-Move left in the field.
-.TP 5
-REQ_RIGHT_CHAR
-Move right in the field.
-.TP 5
-REQ_UP_CHAR
-Move up in the field.
-.TP 5
-REQ_DOWN_CHAR
-Move down in the field.
-.sp
-.TP 5
-REQ_NEW_LINE
-Insert or overlay a new line.
-.TP 5
-REQ_INS_CHAR
-Insert a blank at the cursor.
-.TP 5
-REQ_INS_LINE
-Insert a blank line at the cursor.
-.TP 5
-REQ_DEL_CHAR
-Delete character at the cursor.
-.TP 5
-REQ_DEL_PREV
-Delete character before the cursor.
-.TP 5
-REQ_DEL_LINE
-Delete line at the cursor.
-.TP 5
-REQ_DEL_WORD
-Delete blank-delimited word at the cursor.
-.TP 5
-REQ_CLR_EOL
-Clear to end of line from cursor.
-.TP 5
-REQ_CLR_EOF
-Clear to end of field from cursor.
-.TP 5
-REQ_CLR_FIELD
-Clear the entire field.
-.TP 5
-REQ_OVL_MODE
-Enter overlay mode.
-.TP 5
-REQ_INS_MODE
-Enter insert mode.
-.sp
-.TP 5
-REQ_SCR_FLINE
-Scroll the field forward a line.
-.TP 5
-REQ_SCR_BLINE
-Scroll the field backward a line.
-.TP 5
-REQ_SCR_FPAGE
-Scroll the field forward a page.
-.TP 5
-REQ_SCR_BPAGE
-Scroll the field backward a page.
-.TP 5
-REQ_SCR_FHPAGE
-Scroll the field forward half a page.
-.TP 5
-REQ_SCR_BHPAGE
-Scroll the field backward half a page.
-.sp
-.TP 5
-REQ_SCR_FCHAR
-Scroll the field forward a character.
-.TP 5
-REQ_SCR_BCHAR
-Scroll the field backward a character.
-.TP 5
-REQ_SCR_HFLINE
-Horizontal scroll the field forward a line.
-.TP 5
-REQ_SCR_HBLINE
-Horizontal scroll the field backward a line.
-.TP 5
-REQ_SCR_HFHALF
-Horizontal scroll the field forward half a line.
-.TP 5
-REQ_SCR_HBHALF
-Horizontal scroll the field backward half a line.
-.sp
-.TP
-REQ_VALIDATION
-Validate field.
-.TP
-REQ_NEXT_CHOICE
-Display next field choice.
-.TP
-REQ_PREV_CHOICE
-Display previous field choice.
+.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.
+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.
+REQ_NEXT_FIELD	Move to the next field.
+REQ_NEXT_LINE	Move to the next line.
+REQ_NEXT_PAGE	Move to the next page.
+REQ_NEXT_PAGE	Move to the next page.
+REQ_NEXT_WORD	Move to the next word.
+REQ_OVL_MODE	Enter overlay mode.
+REQ_PREV_CHAR	Move to the previous char.
+REQ_PREV_CHOICE	Display previous field choice.
+REQ_PREV_FIELD	Move to the previous field.
+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_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_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_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
 requests listed above, that request is executed.
-.SS MOUSE HANDLING
+.SS Mouse handling
 .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 form display
+Currently only clicks in the user window (e.g., inside the form display
 area or the decoration window) are handled.
 .PP
 If you click above the display region of the form:
-.RS
+.RS 3
 .TP
 a REQ_PREV_FIELD is generated for a single click,
 .TP
@@ -252,7 +151,7 @@
 .RE
 .PP
 If you click below the display region of the form:
-.RS
+.RS 3
 .TP
 a REQ_NEXT_FIELD is generated for a single click,
 .TP
@@ -262,12 +161,10 @@
 .RE
 .PP
 If you click at an field inside the display area of the form:
-.RS
-.TP 3
--
+.RS 3
+.bP
 the form cursor is positioned to that field.
-.TP 3
--
+.bP
 If you double-click a field,
 the form cursor is positioned to that field
 and \fBE_UNKNOWN_COMMAND\fR is returned.
@@ -276,15 +173,14 @@
 be returned.
 It is exactly the purpose of this return value to signal that an
 application specific command should be executed.
-.TP 3
--
+.bP
 If a translation
 into a request was done, \fBform_driver\fR 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
+.SS Application-defined commands
 .PP
 If the second argument is neither printable nor one of the above
 pre-defined form requests, the driver assumes it is an application-specific
@@ -321,7 +217,8 @@
 .SH SEE ALSO
 \fBcurses\fR(3X),
 \fBform\fR(3X),
-\fBwgetch\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.
@@ -331,9 +228,3 @@
 .SH AUTHORS
 Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
 S. Raymond.
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
