Providing Device Capability Information

MMSYSTEM sends the JDD_GETDEVCAPS message to request information about the coordinate range and button configuration of your device. In response to this message, your driver fills in the JOYCAPS structure, a pointer to it is passed to the lParam1 parameter. The JOYCAPS structure contains fields that describe the coordinate range, button configuration, and manufacturer of the device. For a complete description of each field, see “Joystick Device Driver Data Structure Reference,” later in this chapter.

The minimum and maximum position values should reflect a set of logical coordinates that is independent of minute differences between copies of a hardware device. For example, users of joystick services should always see a full range of logical coordinates returned from a calibrated joystick. Calibration values should not affect the minimum and maximum values returned by your driver. The IBMJOY example device driver Windows returns coordinate values in the range 0 through 65535.

If your hardware device does not support a given axis, return zero values for the minimum and maximum coordinate values for that axis. For example, a driver for a two-dimensional device would set the wZmin and wZmax fields to zero.

See the following section for details on calibration settings.