|
TDX_INPUT_LIBRARY INFORMATION
|
|
If you would like to know more information about something not on this page, ask us and we'll add it to a page.
OVERVIEW OF THE TDX_INPUT_LIBRARY
Top
Next
The TDx_Input_Library is a library of 29 Borland C++ Builder (BCB) rapid application development (RAD) components
that "wrap" all available DirectInput(tm) functionality into easy-to-use BCB Visual Component Library (VCL) components,
supplying a complete framework for harnessing all the power of DirectInput(tm) and Borland C++ Builder.
These components make DirectInput(tm) very easy to use, make DirectInput(tm) work with Borland C++ Builder,
have many added extras designed to help you mix DirectInput(tm) and Borland C++ Builder - quickly and easily.
All components come complete with full source code, project files, auto-installer, full [F1] context-sensitive help
covering all of DirectInput(tm) plus additional features, and demos with full source code.
These components talk to many advanced input devices, including :-
- Mice
- Keyboards
- Trackballs
- Joysticks
- Steering Wheels
- Aircraft Control Yolks
- Advanced versions of the above devices
- These devices with force feedback capability
By fully utilizing the underlying DirectInput(tm) engine, the TDx_Input_Library supplies :-
- Realtime device polling
- Realtime device monitoring
- Realtime control of force feedback effects
- Realtime modification and downloading of device effect data
- Realtime tracking and reporting of force feedback progress and positioning using timers or BCB-style event notifications
- A new programming paradigm, rapid application development DirectInput, or "RAD DirectX" for short.
The TDx_Input_Library contains much added functionality designed to make your life significantly easier, including :-
- Fully optimized for BCB and the VCL
- A solution to integration problems between BCB and DirectX where necessary.
- Automatic error detection & redirection to easy-to-use OnError() events.
- Automatic callback handling & redirection to easy-to-use OnEnum...() events.
- Simple resource management with integrated CreateFrom(), LoadFrom() and SaveTo() functions.
- Low latency (delay) when playing force feedback effects, and also for overall wrapping processes.
For more information, click :-
For background information on the entire TDx_Library, click :-
DETAILS OF THE TDX_INPUT_LIBRARY
Top
Next
Prev
The 29 TDx_Input_Library components :-
- supply advanced input device support to BCB applications
- automatically handle everything related to DirectInput(tm)
- are quite "smart" - they fully maintain everything required to make DirectInput(tm) work very well inside BCB
- supply an easy to use toolset designed to remove the vast majority of effort required to utilize DirectInput(tm)
- let you focus mostly on the creative side of using DirectInput(tm) rather than the underlying SDK technology
When starting to use the components, you can ignore most of DirectInput's advanced capabilities and get quality results in minutes, then as you become familiar with the components and how they work, you can experiment with some of the more advanced features.
You have complete access to component internals, meaning you can mix & match with "normal" DirectInput(tm) code if you want.
Overall, the TDx_Input_Library supplies everything required to add basic and advanced device support to any BCB application.
The TDx_Input_Library offers :-
- Simple management of everything related to DirectInput(tm)
- Simple access to all available DirectInput(tm) functionality
- Easy access to all input devices
- Easy access to data for the whole device
- Easy access to data for a single object or control on the device
- Easy access to the whole device's data format information
- Easy access to a single object or control's data format information
- Easy manipulation of device effect data
- Easy download and playing of force feedback effects
- Comprehensive BCB context-sensitive help [ press F1 in BCB ]
For more information, click :-
COMPONENTS OF THE TDX_INPUT_LIBRARY
Top
Next
Prev
The table below contains details on each TDx_Input_Library component, and also contains links to individual reference pages :-
COMPONENT LOGO |
COMPONENT NAME |
WRAPPER TYPE |
COMMENT |
|
TDICondition
|
Multi - Wrapper
|
The TDICondition component wraps multiple DICONDITION structures
and is referenced by the
TypeSpecificParams property of the
TDIEffect component.
It describes the
positive and
negative
coefficients,
positive and
negative
saturations, the
deadband and the
offset of a
'Conditional' force feedback effect.
There are four standard types of conditions -
friction,
damper,
inertia and
spring.
Additional functionality :-
An ArraySize property that determines the total # of internal DICONDITION structures maintained by the
TDICondition component.
A Size property for determining the sizeof(DICONDITION). All internal fDICONDITION[index].dwSize structure members are set to this value when calling the
Clear() and
ClearAll() methods.
A SizeAll property for determining the byte size of all internal DICONDITION structures, equivalent to
ArraySize *
Size.
A Clear() method for clearing the contents of the specified internal DICONDITION structure and auto-resetting the specified fDICONDITION.dwSize structure member.
A ClearAll() method for clearing the contents of all internal DICONDITION structures and auto-resetting all fDICONDITION[index].dwSize structure members.
An OnError() event that is called whenever any problems occur inside the
TDICondition component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIConstantForce
|
Wrapper
|
The TDIConstantForce component wraps a single DICONSTANTFORCE structure
and is referenced by the
TypeSpecificParams property of the
TDIEffect component.
It describes the
magnitude of a
'Constant' force feedback effect, the
duration being defined in the
TDIEffect component.
Additional functionality :-
A Size property for determining the sizeof(DICONSTANTFORCE). The internal fDICONSTANTFORCE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DICONSTANTFORCE structure and auto-resetting the internal fDICONSTANTFORCE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIConstantForce component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDICustomForce
|
Wrapper
|
The TDICustomForce component wraps a single DICUSTOMFORCE structure
and is referenced by the
TypeSpecificParams property of the
TDIEffect component.
It describes the
channels,
force data,
samples and
sample period of a
'Custom' force feedback effect.
Additional functionality :-
A Size property for determining the sizeof(DICUSTOMFORCE). The internal fDICUSTOMFORCE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DICUSTOMFORCE structure and auto-resetting the internal fDICUSTOMFORCE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDICustomForce component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIDataFormat
|
Wrapper
|
The TDIDataFormat component wraps a single DIDATAFORMAT structure.
It describes the data format of the device as a whole.
To do this it defines the
number and
size of individual
controls, references an array of
TDIObjectDataFormat components describing those
controls, defines the
mode of the axes and the
size of the data packets returned by the device.
In most cases the predefined data formats for
keyboards,
mice and
joysticks can be used instead of this component.
Additional functionality :-
A Size property for determining the sizeof(DIDATAFORMAT). The internal fDIDATAFORMAT.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIDATAFORMAT structure and auto-resetting the internal fDIDATAFORMAT.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIDataFormat component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIDevCaps
|
Wrapper |
The TDIDevCaps component wraps a single DIDEVCAPS structure.
It describes the capabilities of a particular DirectInput device, including the number of
axes,
POVs and
buttons,
hardware,
firmware and
driver versions, the
device type, minimum
sample and
time resolutions as well as
flags indicating device status and capabilities.
Additional functionality :-
A Size property for determining the sizeof(DIDEVCAPS). The internal fDIDEVCAPS.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIDEVCAPS structure and auto-resetting the internal fDIDEVICEINSTANCE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIDevCaps component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIDeviceInstance
|
Wrapper |
The TDIDeviceInstance component wraps a single DIDEVICEINSTANCE structure.
It details a
device instance, including information like the
device type, the
product,
driver and
instance ID's,
product and
instance names and the
HID
codes and
pages for the device.
Additional functionality :-
A Size property for determining the sizeof(DIDEVICEINSTANCE). The internal fDIDEVICEINSTANCE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIDEVICEINSTANCE structure and auto-resetting the internal fDIDEVICEINSTANCE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIDeviceInstance component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIDeviceObjectData
|
Multi - Wrapper |
The TDIDeviceObjectData component wraps multiple DirectX DIDEVICEOBJECTDATA structures.
It holds a
timestamp and
sequence number for determining the data retrieval order, plus the
offset or ID of the
actual data being sent to or from an individual
device control.
Additional functionality :-
An ArraySize property that determines the total # of internal DIDEVICEOBJECTDATA structures maintained by the
TDIDeviceObjectData component.
A Size property for determining the sizeof(DIDEVICEOBJECTDATA). All internal fDIDEVICEOBJECTDATA[index].dwSize structure members are set to this value when calling the
Clear() and
ClearAll() methods.
A SizeAll property for determining the byte size of all internal DIDEVICEOBJECTDATA structures, equivalent to
ArraySize *
Size.
A Clear() method for clearing the contents of the specified internal DIDEVICEOBJECTDATA structure and auto-resetting the specified fDIDEVICEOBJECTDATA.dwSize structure member.
A ClearAll() method for clearing the contents of all internal DIDEVICEOBJECTDATA structures and auto-resetting all fDIDEVICEOBJECTDATA[index].dwSize structure members.
An OnError() event that is called whenever any problems occur inside the
TDIDeviceObjectData component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIDeviceObjectInstance
|
Wrapper |
The
TDIDeviceObjectInstance component wraps a single DIDEVICEOBJECTINSTANCE structure.
It describes an individual
device control, including information like the
name and
type,
dimensional units,
exponent,
resolution,
maximum output,
data offset and
flags detailing the reporting and output capabilities.
It also includes
HID information like the usage
page and
code,
collection number and
designator index.
Additional functionality :-
A Size property for determining the sizeof(DIDEVICEOBJECTINSTANCE). The internal fDIDEVICEOBJECTINSTANCE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIDEVICEOBJECTINSTANCE structure and auto-resetting the internal fDIDEVICEOBJECTINSTANCE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIDeviceObjectInstance component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIEffEscape
|
Wrapper |
The
TDIEffEscape component wraps a single DIEEFFESCAPE structure.
It is used when sending
commands directly to the device driver, additional data required or resultiong from the command being stored in an
input and an
output buffer.
Additional functionality :-
A Size property for determining the sizeof(DIEFFESCAPE). The internal fDIEFFESCAPE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIEFFESCAPE structure and auto-resetting the internal fDIEFFESCAPE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIEffEscape component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIEffect
|
Wrapper |
The
TDIEffect component wraps a single DIEFFECT structure.
It is used to set up effect parameters prior to downloading them to a device.
These parameters include the
number of axes and an
array to store them in, the effect's
direction,
duration,
envelope,
sample period and
gain, some interpretation
flags,
which button (if any) should trigger the effect and
how often it should be triggered if the button is held down,
how long to wait before starting the effect and a
size value for the
type specific parameters of the effect which are stored in a
TDICustomForce,
TDIPeriodic,
TDIConstantForce,
TDIRampForce or
TDICondition component as required.
Additional functionality :-
A Size property for determining the sizeof(DIEFFECT). The internal fDIEFFECT.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIEFFECT structure and auto-resetting the internal fDIEFFECT.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIEffect component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIEffectInfo
|
Wrapper |
The
TDIEffectInfo component wraps a single DIEFFECTINFO structure.
It describes the type and capabilities of an effect, including the
name and
ID of the effect, as well as flags indicating the
supported effect parameters, which parameters can be
updated dynamically and the
type and enumeration settings.
Additional functionality :-
A Size property for determining the sizeof(DIEFFECTINFO). The internal fDIEFFECTINFO.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIEFFECTINFO structure and auto-resetting the internal fDIEFFECTINFO.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIEffectInfo component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIEnvelope
|
Wrapper |
The
TDIEnvelope component wraps a single DIENVELOPE structure.
It describes the
attack
level and
time and the
fade
level and
time for an
effect envelope, which is used to modify the shape of
constant and
periodic effects.
Additional functionality :-
A Size property for determining the sizeof(DIENVELOPE). The internal fDIENVELOPE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIENVELOPE structure and auto-resetting the internal fDIENVELOPE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIEnvelope component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIFileEffect
|
Multi - Wrapper |
The
TDIFileEffect component wraps multiple DIFILEEFFECT structures.
It holds the
name,
type and
parameters of an effect being retrieved or written to a file.
Additional functionality :-
An ArraySize property that determines the total # of internal DIFILEEFFECT structures maintained by the
TDIFileEffect component.
A Size property for determining the sizeof(DIFILEEFFECT). All internal fDIFILEEFFECT[index].dwSize structure members are set to this value when calling the
Clear() and
ClearAll() methods.
A SizeAll property for determining the byte size of all internal DIFILEEFFECT structures, equivalent to
ArraySize *
Size.
A Clear() method for clearing the contents of the specified internal DIFILEEFFECT structure and auto-resetting the specified fDIFILEEFFECT.dwSize structure member.
A ClearAll() method for clearing the contents of all internal DIFILEEFFECT structures and auto-resetting all fDIFILEEFFECT[index].dwSize structure members.
An OnError() event that is called whenever any problems occur inside the
TDIFileEffect component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIJoyState
|
Wrapper |
The
TDIJoyState component wraps a single DIJOYSTATE structure.
It holds basic joystick information, including X, Y and Z axis
positional and
rotational information with arrays for storing up to two
sliders, 4
directional controllers (POV's) and 32
button states.
Additional functionality :-
A Size property for determining the sizeof(DIJOYSTATE). The internal fDIJOYSTATE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIJOYSTATE structure and auto-resetting the internal fDIJOYSTATE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIJoyState component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIJoyState2
|
Wrapper |
The
TDIJoyState2 component wraps a single DIJOYSTATE2 structure.
It holds advanced joystick information, with X, Y and Z axis values for the
position,
rotation,
velocity,
acceleration,
force,
angular acceleration,
angular velocity and
rotational force of the axes, with arrays for storing the
position
velocity
acceleration and
force information for two sliders. There is also room for up to 4
directional controllers (POV's) and 128
button states.
Additional functionality :-
A Size property for determining the sizeof(DIJOYSTATE2). The internal fDIJOYSTATE2.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIJOYSTATE2 structure and auto-resetting the internal fDIJOYSTATE2.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIJoyState2 component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIKeyboardState
|
Wrapper |
The
TDIKeyboardState component was created by BCB-Tools.com.
It is used to retrieve
keyboard data in the form of a 256 byte array.
Additional functionality :-
A Size property for determining the sizeof(TDIKeyboardState).
A Clear() method for clearing the contents of the TDIKeyboardState component.
An OnError() event that is called whenever any problems occur inside the
TDIKeyboardState component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIMouseState
|
Wrapper |
The
TDIMouseState component wraps a single DIMOUSESTATE structure.
It holds up to four
button states and the
X,
Y and
Z axis information for a basic mouse.
Additional functionality :-
A Size property for determining the sizeof(DIMOUSESTATE). The internal fDIMOUSESTATE.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIMOUSESTATE structure and auto-resetting the internal fDIMOUSESTATE.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIMouseState component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIMouseState2
|
Wrapper |
The
TDIMouseState2 component wraps a single DIMOUSESTATE2 structure.
It holds up to eight
button states and the
X,
Y and
Z axis information for a more advanced mouse.
Additional functionality :-
A Size property for determining the sizeof(DIMOUSESTATE2). The internal fDIMOUSESTATE2.dwSize structure member is automatically set to this value when calling the
Clear() method.
A Clear() method for clearing the contents of the internal DIMOUSESTATE2 structure and auto-resetting the internal fDIMOUSESTATE2.dwSize structure member.
An OnError() event that is called whenever any problems occur inside the
TDIMouseState component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIObjectDataFormat
|
Multi - Wrapper |
The
TDIObjectDataFormat component wraps multiple DIOBJECTDATAFORMAT structures.
It describes
which part of the device the object represents, the
object's type, the
kind of information that can be reported and the
data offset for the
device object.
Additional functionality :-
An ArraySize property that determines the total # of internal DIOBJECTDATAFORMAT structures maintained by the
TDIObjectDataFormat component.
A Size property for determining the sizeof(DIOBJECTDATAFORMAT). All internal fDIOBJECTDATAFORMAT[index].dwSize structure members are set to this value when calling the
Clear() and
ClearAll() methods.
A SizeAll property for determining the byte size of all internal DIOBJECTDATAFORMAT structures, equivalent to
ArraySize *
Size.
A Clear() method for clearing the contents of the specified internal DIOBJECTDATAFORMAT structure and auto-resetting the specified fDIOBJECTDATAFORMAT.dwSize structure member.
A ClearAll() method for clearing the contents of all internal DIOBJECTDATAFORMAT structures and auto-resetting all fDIOBJECTDATAFORMAT[index].dwSize structure members.
An OnError() event that is called whenever any problems occur inside the
TDIObjectDataFormat component.
An ErrorValue property for determining the value of the last error result that triggered the
OnError() event.
|
|
TDIPeriodic
|
Wrapper |
The TDIPeriodic component wraps the DirectX DIPERIODIC structure which contains type specific information for force feedback effects that have the DIEFT_PERIODIC option set.
This component is referenced by TDIEffect::TypeSpecificParams when it is being used to define a periodic effect.
Periodic effects are waveforms that are usually used to achieve a shaking in the control device. You can apply an envelope to a periodic effect.
To create a standard periodic effect pass one of the GUIDs below in the TDx_InputDevice::CreateEffect() Guid parameter.
The standard waveform GUIDs are:
GUID_Square - Feedback oscillates directly from maximum negative to maximum positive force.
GUID_Sine - Feedback oscillates using a sine waveform pattern of smooth curves.
GUID_Triangle - Feedback oscillates from positive to negative at a constant rate of force change.
GUID_SawtoothUp - Feedback increases at a fixed rate then drops directly to the maximum negative magnitude and begins increasing again.
GUID_SawtoothDown - Feedback decreases at a fixed rate then rises directly to the maximum positive magnitude and begins decreasing again.
Magnitude is defined here, while the duration is defined by TDIEffect::Duration.
A periodic force using an envelope will start its cycle at the attack level, relative to its phase, spend a specified duration moving towards the sustain level, stay at the sustain level for a specified period, then spend another period of time moving towards the fade level.
|
|
TDIPropDWORD
|
Wrapper |
The TDIPropDWORD component wraps the DirectX DIPROPDWORD structure which is a generic structure used to access dword properties.
This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to access properties that require a single value, such as a buffer size.
This component also references a TDIPropHeader component.
|
|
TDIPropGuidAndPath
|
Wrapper |
The TDIPropGuidAndPath component wraps the DirectX TDIPROPGUIDANDPATH structure which is used to access GUID and path properties.
This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to perform operations on a HID that are not otherwise supported.
This component also references a TDIPropHeader component.
|
|
TDIPropHeader
|
Wrapper |
The TDIPropHeader component wraps the DirectX DIPROPHEADER structure which is located at the start of all TDIProperty-derived components internal structures, in a structure-in-structure relationship.
These TDIProperty-derived components are TDIPropDWORD, TDIPropGuidAndPath, TDIPropRange and TDIPropString, which wrap the various DIPROPDWORD, DIGUIDANDPATH, DIPROPRANGE and DIPROPSTRING structures.
Each of these internal structures contains a DIPROPHEADER structure which is used to define the size of the encapsulating structure and how the data within the encapsulating structure should be interpreted. This structure also defines a special-purpose dwSize member, usually maintained with manual code.
To automatically maintain this dwSize member and to access all relevant information within these TDIProperty components, link a TDIPropHeader component using the relevant TDIPropDWORD::PropHeader, TDIPropGuidAndPath::PropHeader, TDIPropRange::PropHeader and TDIPropString::PropHeader properties.
During linking, the TDIPropHeader::Size property is automatically set to the TDIProperty's Size property.
Example code that sets a property :-
DIPropHeader1->Obj = 0;
DIPropHeader1->How = DIPH_DEVICE;
DIPropDWORD1->PropHeader = DIPropHeader1;
DIPropDWORD1->Data = 10;
Dx_InputDevice1->SetProperty( DIPROP_BUFFERSIZE, DIPropDWORD1 );
You can also access the contents of the TDIPropDWORD's internal DIPROPHEADER structure using standard vcl code like :-
DIPropDWORD1->PropHeader = DIPropHeader1;
DIPropDWORD1->PropHeader->Obj = 0;
DIPropDWORD1->PropHeader->How = DIPH_DEVICE;
DIPropDWORD1->Data = 10;
Dx_InputDevice1->SetProperty( DIPROP_BUFFERSIZE, DIPropDWORD1 );
After linking and setting up the relevant details, pass the TDIProperty-derived component into TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() to perform a range of property related operations on an input device or object.
|
|
TDIPropRange
|
Wrapper |
The TDIPropRange component wraps the DirectX DIPROPRANGE structure which used to access information about the possible range values of an object.
This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to access properties that define a device objects reporting range.
This component also references a TDIPropHeader component.
For some devices you cannot set the range values by calling TDx_InputDevice::SetProperty().
When device ranges are unrestricted they will wrap around.
|
|
TDIPropString
|
Wrapper |
The TDIPropString component wraps the DirectX TDIPROPSTRING structure which is used to access string properties.
This component is primarily utilised by the TDx_InputDevice::GetProperty() and TDx_InputDevice::SetProperty() methods to perform operations on a HID that are not otherwise supported.
This component also references a TDIPropHeader component.
|
|
TDIRampForce
|
Wrapper |
The TDIRampForce component wraps the DirectX DICONSTANTFORCE structure, which contains type specific information for force feedback effects that have the DIEFT_RAMPFORCE option set.
It is used to define a 'Ramp Force', which is a force that moves from one defined magnitude to another over a specified time period.
You can apply an envelope to a ramp force but not an offset.
Only the magnitudes are defined by this component, the duration is set in TDIEffect::Duration, which cannot be set to INFINITE for a ramp force.
Use this component by setting TDIEffect::TypeSpecificParams to refer to a single TDIRampForce component.
To create a ramp force, use the TDx_InputDevice::CreateEffect() method and pass the following as the GUID parameter:
GUID_RampForce
|
|
TDx_Input
|
Interface |
The TDx_Input component wraps and manages a single IDirectInput7 interface.
This is the main root component of the TDx_Input_Library, everything else ultimately requires this component.
It supplies access to DirectInput device interfaces and the Windows control panel.
It can be used to
create a TDx_Input interface,
create a TDx_InputDevice interface,
destroy a TDx_Input interface,
enumerate directinput devices,
find a device's GUID,
retrieve a device's status,
and launch the windows control panel.
Additional functionality :-
OnCreate(), OnDestroy() and OnError() events triggered during creation, destruction, and whenever any error occurs.
A modified EnumDevices() method which automatically calls the OnEnumDevices() callback event, which makes responding to device enumeration simple.
An ErrorValue property for determination of the last error result returned from DirectInput(tm) or the TDx_Input_Library.
|
|
TDx_InputDevice
|
Interface |
The TDx_InputDevice component wraps and manages the DirectX IDirectInputDevice7 interface.
It manages and manipulates directinput devices.
It can be used to
acquire access to the input device,
create a TDx_InputDevice interface,
create an effect for the device,
destroy a TDx_InputDevice interface,
enumerate effects already created,
enumerate effects supported by the device,
enumerate effects stored in a file,
enumerate individual device objects,
send a hardware specific command,
retrieve device capabilities,
retrieve buffered input data,
retrieve the devices identity,
retrieve the devices current state,
retrieve effect information,
retrieve the current force feedback state,
retrieve information for an individual device object,
test for specific device properties,
retrieve state information from the polled device,
launch the devices control panel,
send data to a device,
send force feedback commands to the device,
set the devices cooperative level,
define the devices data format,
toggle event notification on device state change,
define device behaviour properties,
unaquire the input device,
and write an effect to a file.
Additional functionality :-
A OnDeviceStateChange() event triggered whenever the device's state changes, toggled on or off by the SetEventNotification() method.
A modified EnumCreatedEffectObjects() method which automatically calls the OnEnumCreatedEffectObjects() callback event, which makes handling created effect enumeration simple.
A modified EnumEffects() method which automatically calls the OnEnumEffects() callback event, which makes handling supported effect enumeration simple.
A modified EnumEffectsInFile() method which automatically calls the OnEnumEffectsInFile() callback event, which makes handling file effect enumeration simple.
A modified EnumObjects() method which automatically calls the OnEnumObjects() callback event, which makes handling object enumeration simple.
|
|
TDx_InputEffect
|
Interface |
The TDx_InputEffect component wraps and manages the DirectX IDirectInputEffect interface.
It manages and manipulates directinput effects.
It can be used to
create a TDx_InputEffect interface,
destroy a TDx_InputEffect interface,
download an effect to the device,
send commands to the device driver,
retrieve an effects identifier,
retrieve an effects status,
retrieve an effects current settings,
define an effects settings,
play an effect,
halt an effect,
and remove an effect from the device.
|
MORE INFORMATION ABOUT THE TDX_INPUT_LIBRARY
Top
Prev
Over time we will add much more information about the TDx_Input_Library.
In the meantime, the table below contains details on the current status of the entire TDx_Library, and links to more information :-
|
|