DirectInput 5.0 release notes

What's new in DirectInput for this release
==========================================
-New game controller control panel.  This new control panel replaces joy.cpl.
It allows hardware manufacturers to create property sheets for testing and
calibrating their devices.  The default property sheet allows calibration
and testing for a devices with up to 6 axes, 1 POV control, and up to 32 buttons.

-DirectInput now supports joysticks and other gaming devices using the same IDirectInput 
and IDirectInputDevice interfaces.  Take a look at the DirectInput documentation as well 
as the Space Donuts sample to see samples of using DirectInput to read joystick data.

-Force feedback support.  Support for force feedback controllers is new for DX 5.  
In order to support force feedback, a new interface called IDirectEffect was created 
as well as IDirectInputDevice2.  IDirectInputDevice2 contains the functionality of 
IDirectInputDevice as well as changes needed specifically to support force feedback devices.

-Driver support for force feedback devices.  DirectInput supports force feedback devices 
with either user or kernel mode drivers.

-VJOYD enhancements and bug fixes.
The analog polling part of VJOYD has now been placed in a new mini-driver called 
msanalog.vxd.  Therefore, VJOYD no longer requires any I/O resources.

Mini-drivers using configuration manager resources are now informed of its resources 
through a CM_START message when selected as the current driver in control panel.  
Restart no longer required.

msanalog can do standard analog polling at addresses other than the standard range 
of 200h to 20Fh.  Also, if two port ranges are given, the second one is no longer 
required to be a one byte length.

A reboot is no longer required if the first four joystick IDs were previously assigned 
to devices using mini-drivers but were changed to be assigned to analog devices.

VJOYD will no longer continue polling a mini-driver on a particular joystick id 
after the mini-driver has failed the JoyId callback for that id.

VJOYD will only call the mini-driver configuration manager callbacks for one driver 
for a particular set of resources so the resources a mini-driver is given can be assumed 
to private.

-Improved documentation.  The documentation contains all of the DirectInput API, 
method, and structure information as well as examples of using DirectInput to communicate 
with keyboards, mice and gaming devices.  Please report any problems with the documentation 
as bugs against DirectInput.  

Force Feedback
==============
As mentioned above, this release is the first containing support for force feedback 
devices.  We have created a new interface called IDirectInputEffect that represents a 
force feedback effect.  We have also created a new interface called IDirectInputDevice2.  
This interface contains all of the methods and functionality of IDirectInputDevice, as well 
as new methods and functionality added to support force feedback devices.


INITGUID vs. DXGUID.LIB
=======================
You can generate the DirectInput GUIDs yourself by defining INITGUID.  However, 
if you want to avoid generating all of the DirectInput GUIDs (including the ones you 
don't use), link to DXGUID.LIB instead of defining INITGUID.


