|
Mac Dev Center
Mac OS X Reference Library Drivers, Kernel, & Hardware: User-Space Device Access Force Feedback Framework Reference
|
ForceFeedbackConstants.h |
Constants used in the public interfaces to the Force Feedback implementation in Mac OS X.
This header file contains the Effect type UUIDs, type definitions used in the API, force feedback constants and error values used by the API.
FFCapabilitiesEffectSubType |
typedef UInt32 FFCapabilitiesEffectSubType;
Flags used to specify the subtype of an effect.
FFCapabilitiesEffectType |
typedef UInt32 FFCapabilitiesEffectType;
Types used in the emulatedEffects or supportedEffects members of the FFCAPABILITIES structure. Used to describe whether the particular effect type is supported or emulated by the device.
FFCommandFlag |
typedef UInt32 FFCommandFlag;
Command flags for FFDeviceSendForceFeedbackCommand().
FFCooperativeLevelFlag |
typedef UInt32 FFCooperativeLevelFlag;
flags for FFDeviceSetCooperativeLevel().
FFCoordinateSystemFlag |
typedef UInt32 FFCoordinateSystemFlag;
Different coordinates used by the Force Feedback framework.
FFEffectParameterFlag |
typedef UInt32 FFEffectParameterFlag;
Effect Parameter flags for use in calls to FFEffectGetParameters() and FFEffectSetParameters().
FFEffectStartFlag |
typedef UInt32 FFEffectStartFlag;
Effect Parameter flags for use in calls to FFEffectStart().
FFEffectStatusFlag |
typedef UInt32 FFEffectStatusFlag;
Effect Parameter flags for use in calls to FFEffectGetEffectStatus().
FFProperty |
typedef UInt32 FFProperty;
Used for FFDeviceGetForceFeedbackProperty() and FFDeviceSetForceFeedbackProperty().
FFState |
typedef UInt32 FFState;
Device state flags returned by FFDeviceGetForceFeedbackState().
FFCapabilitiesEffectSubType |
enum { FFCAP_ST_KINESTHETIC = 1, FFCAP_ST_VIBRATION = 2 };
Flags used to specify the subtype of an effect.
FFCapabilitiesEffectType |
enum { FFCAP_ET_CONSTANTFORCE = 0x00000001UL, FFCAP_ET_RAMPFORCE = 0x00000002UL, FFCAP_ET_SQUARE = 0x00000004UL, FFCAP_ET_SINE = 0x00000008UL, FFCAP_ET_TRIANGLE = 0x00000010UL, FFCAP_ET_SAWTOOTHUP = 0x00000020UL, FFCAP_ET_SAWTOOTHDOWN = 0x00000040UL, FFCAP_ET_SPRING = 0x00000080UL, FFCAP_ET_DAMPER = 0x00000100UL, FFCAP_ET_INERTIA = 0x00000200UL, FFCAP_ET_FRICTION = 0x00000400UL, FFCAP_ET_CUSTOMFORCE = 0x00000800UL };
FFCAP_ET_CONSTANTFORCEThe effect represents a constant force effect.
FFCAP_ET_RAMPFORCEThe effect represents a ramp force effect.
FFCAP_ET_SQUAREThe effect represents a square force effect.
FFCAP_ET_SINEThe effect represents a sine force effect.
FFCAP_ET_TRIANGLEThe effect represents a triangle force effect.
FFCAP_ET_SAWTOOTHUPThe effect represents a sawtooth up force effect.
FFCAP_ET_SAWTOOTHDOWNThe effect represents a sawtooth down force effect.
FFCAP_ET_SPRINGThe effect represents a spring force effect.
FFCAP_ET_DAMPERThe effect represents a damper force effect.
FFCAP_ET_INERTIAThe effect represents a inertia force effect.
FFCAP_ET_FRICTIONThe effect represents a friction force effect.
FFCAP_ET_CUSTOMFORCEThe effect represents a custom force effect. The Force Feedback plugIn developer is required to provide additional documentation to the application writer on how the effect should be used.
Types used in the emulatedEffects or supportedEffects members of the FFCAPABILITIES structure. Used to describe whether the particular effect type is supported or emulated by the device.
FFCommandFlag |
enum { FFSFFC_RESET = 0x00000001UL, FFSFFC_STOPALL = 0x00000002UL, FFSFFC_PAUSE = 0x00000004UL, FFSFFC_CONTINUE = 0x00000008UL, FFSFFC_SETACTUATORSON = 0x00000010UL, FFSFFC_SETACTUATORSOFF = 0x00000020UL };
Command flags for FFDeviceSendForceFeedbackCommand().
FFCooperativeLevelFlag |
enum { FFSCL_EXCLUSIVE = 0x00000001UL, FFSCL_NONEXCLUSIVE = 0x00000002UL, FFSCL_FOREGROUND = 0x00000004UL, FFSCL_BACKGROUND = 0x00000008UL };
flags for FFDeviceSetCooperativeLevel().
FFCoordinateSystemFlag |
enum { FFEFF_CARTESIAN = 0x00000010UL, FFEFF_POLAR = 0x00000020UL, FFEFF_SPHERICAL = 0x00000040UL };
FFEFF_CARTESIANCartesian coordinates
FFEFF_POLARPolar coordinates
FFEFF_SPHERICALSperical coordinates
Different coordinates used by the Force Feedback framework.
FFEffectParameterFlag |
enum { FFEP_DURATION = 0x00000001UL, FFEP_SAMPLEPERIOD = 0x00000002UL, FFEP_GAIN = 0x00000004UL, FFEP_TRIGGERBUTTON = 0x00000008UL, FFEP_TRIGGERREPEATINTERVAL = 0x00000010UL, FFEP_AXES = 0x00000020UL, FFEP_DIRECTION = 0x00000040UL, FFEP_ENVELOPE = 0x00000080UL, FFEP_TYPESPECIFICPARAMS = 0x00000100UL, FFEP_STARTDELAY = 0x00000200UL, FFEP_ALLPARAMS = 0x000003FFUL, FFEP_START = 0x20000000UL, FFEP_NORESTART = 0x40000000UL, FFEP_NODOWNLOAD = 0x80000000UL, FFEB_NOTRIGGER = 0xFFFFFFFFUL };
Effect Parameter flags for use in calls to FFEffectGetParameters() and FFEffectSetParameters().
FFEffectStartFlag |
enum { FFES_SOLO = 0x00000001UL, FFES_NODOWNLOAD = 0x80000000UL };
Effect Parameter flags for use in calls to FFEffectStart().
FFEffectStatusFlag |
enum { FFEGES_NOTPLAYING = 0x00000000UL, FFEGES_PLAYING = 0x00000001UL, FFEGES_EMULATED = 0x00000002UL };
Effect Parameter flags for use in calls to FFEffectGetEffectStatus().
FFProperty |
enum { FFPROP_FFGAIN = 1UL, FFPROP_AUTOCENTER = 3UL };
Used for FFDeviceGetForceFeedbackProperty() and FFDeviceSetForceFeedbackProperty().
FFState |
enum { FFGFFS_EMPTY = 0x00000001UL, FFGFFS_STOPPED = 0x00000002UL, FFGFFS_PAUSED = 0x00000004UL, FFGFFS_ACTUATORSON = 0x00000010UL, FFGFFS_ACTUATORSOFF = 0x00000020UL, FFGFFS_POWERON = 0x00000040UL, FFGFFS_POWEROFF = 0x00000080UL, FFGFFS_SAFETYSWITCHON = 0x00000100UL, FFGFFS_SAFETYSWITCHOFF = 0x00000200UL, FFGFFS_USERFFSWITCHON = 0x00000400UL, FFGFFS_USERFFSWITCHOFF = 0x00000800UL, FFGFFS_DEVICELOST = 0x80000000UL };
Device state flags returned by FFDeviceGetForceFeedbackState().
E_PENDING |
#define E_PENDING 0x8000000AL
Data is not yet available.
FF_DEGREES |
#define FF_DEGREES 100
FF_DOWNLOADSKIPPED |
#define FF_DOWNLOADSKIPPED
The parameters of the effect were successfully updated by FFEffectSetParameters, but the effect was not downloaded because the FFEP_NODOWNLOAD flag was passed.
FF_EFFECTRESTARTED |
#define FF_EFFECTRESTARTED
The parameters of the effect were successfully updated by FFEffectSetParameters, but in order to change the parameters, the effect needed to be restarted.
FF_FALSE |
#define FF_FALSE S_FALSE
The operation did not complete successfully.
FF_FFNOMINALMAX |
#define FF_FFNOMINALMAX 10000
FF_INFINITE |
#define FF_INFINITE 0xFFFFFFFFUL
FF_OK |
#define FF_OK S_OK
The operation completed successfully.
FF_SECONDS |
#define FF_SECONDS 1000000
FF_TRUNCATED |
#define FF_TRUNCATED
The parameters of the effect were successfully updated by FFEffectSetParameters, but some of them were beyond the capabilities of the device and were truncated.
FF_TRUNCATEDANDRESTARTED |
#define FF_TRUNCATEDANDRESTARTED
Equal to FF_EFFECTRESTARTED | FF_TRUNCATED.
FFEFF_OBJECTOFFSETS |
#define FFEFF_OBJECTOFFSETS 0x00000002UL
OBJECT IDS cannot be used to identify trigger buttons in FFEFFECT.dwTriggerButton, and output axes in FFEFFECT.rgdwAxes[n]. Please use object offsets (FFJOFS_* constants), the only supported method.
FFERR_DEVICEFULL |
#define FFERR_DEVICEFULL 0x80040201L
The device is full.
FFERR_DEVICENOTREG |
#define FFERR_DEVICENOTREG REGDB_E_CLASSNOTREG
The device or device instance or effect is not registered.
FFERR_DEVICEPAUSED |
#define FFERR_DEVICEPAUSED 0x80040301L
When the device is paused via a call to FFDeviceSendForceFeedbackCommand(), other operations such as modifying existing effect parameters and creating new effects are not allowed.
FFERR_DEVICERELEASED |
#define FFERR_DEVICERELEASED 0x80040307L
The device has been released.
FFERR_EFFECTPLAYING |
#define FFERR_EFFECTPLAYING 0x80040208L
An attempt was made to modify parameters of an effect while it is playing. Not all hardware devices support altering the parameters of an effect while it is playing.
FFERR_EFFECTTYPEMISMATCH |
#define FFERR_EFFECTTYPEMISMATCH 0x80040303L
The IOForceFededbackLib driver has received an effect modification request whose basic type does not match the defined effect type for the given effect.
FFERR_EFFECTTYPENOTSUPPORTED |
#define FFERR_EFFECTTYPENOTSUPPORTED 0x80040306L
The effect type requested is not explicitly supported by the particular device.
FFERR_GENERIC |
#define FFERR_GENERIC E_FAIL
An undetermined error occurred.
FFERR_HASEFFECTS |
#define FFERR_HASEFFECTS 0x80040204L
The device cannot be reinitialized because there are still effects attached to it.
FFERR_INCOMPLETEEFFECT |
#define FFERR_INCOMPLETEEFFECT 0x80040206L
The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been created.
FFERR_INTERNAL |
#define FFERR_INTERNAL 0x80040302L
The IOForceFededbackLib driver has detected an internal fault. Often this occurs because of an unexpected internal code path.
FFERR_INVALIDDOWNLOADID |
#define FFERR_INVALIDDOWNLOADID 0x80040300L
The effect index provided by the API in downloadID is not recognized by the IOForceFeedbackLib driver.
FFERR_INVALIDPARAM |
#define FFERR_INVALIDPARAM E_INVALIDARG
An invalid parameter was passed to the returning function, or the object was not in a state that admitted the function to be called.
FFERR_MOREDATA |
#define FFERR_MOREDATA 0x80040202L
Not all the requested information fit into the buffer.
FFERR_NOINTERFACE |
#define FFERR_NOINTERFACE E_NOINTERFACE
The specified interface is not supported by the object
FFERR_NOTDOWNLOADED |
#define FFERR_NOTDOWNLOADED 0x80040203L
The effect is not downloaded.
FFERR_NOTINITIALIZED |
#define FFERR_NOTINITIALIZED 0x80040305L
This object has not been initialized
FFERR_OUTOFMEMORY |
#define FFERR_OUTOFMEMORY E_OUTOFMEMORY
Couldn't allocate sufficient memory to complete the caller's request.
FFERR_UNPLUGGED |
#define FFERR_UNPLUGGED 0x80040209L
The operation could not be completed because the device is not plugged in.
FFERR_UNSUPPORTED |
#define FFERR_UNSUPPORTED E_NOTIMPL
The function called is not supported at this time
FFERR_UNSUPPORTEDAXIS |
#define FFERR_UNSUPPORTEDAXIS 0x80040304L
The effect includes one or more axes that the device does not support.
FFJOFS_i |
#define FFJOFS_X 0
Axis and Button field offsets, used in FFEFFECT.dwTriggerButton and FFEFFECT.rgdwAxes[n].
FFJOFS_X |
#define FFJOFS_X 0
Axis and Button field offsets, used in FFEFFECT.dwTriggerButton and FFEFFECT.rgdwAxes[n].
kFFEffectType_ConstantForce_ID |
#define kFFEffectType_ConstantForce_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x60, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a constant force effect type
kFFEffectType_CustomForce_ID |
#define kFFEffectType_CustomForce_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x6B, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a custom force effect type
kFFEffectType_Damper_ID |
#define kFFEffectType_Damper_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x68, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a damper effect type
kFFEffectType_Friction_ID |
#define kFFEffectType_Friction_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x6A, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a friction effect type
kFFEffectType_Inertia_ID |
#define kFFEffectType_Inertia_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x69, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for an inertia effect type
kFFEffectType_RampForce_ID |
#define kFFEffectType_RampForce_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x61, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a ramp force effect type
kFFEffectType_SawtoothDown_ID |
#define kFFEffectType_SawtoothDown_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x66, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a downwards sawtooth wave effect type
kFFEffectType_SawtoothUp_ID |
#define kFFEffectType_SawtoothUp_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x65, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a upwards sawtooth wave effect type
kFFEffectType_Sine_ID |
#define kFFEffectType_Sine_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x63, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a sine wave effect type
kFFEffectType_Sine_ID |
#define kFFEffectType_Triangle_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x64, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a sine wave effect type
kFFEffectType_Spring_ID |
#define kFFEffectType_Spring_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x67, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a spring effect type
kFFEffectType_Square_ID |
#define kFFEffectType_Square_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x62, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a square wave effect type
kFFEffectType_Triangle_ID |
#define kFFEffectType_Triangle_ID CFUUIDGetConstantUUIDWithBytes(NULL, \ 0xE5, 0x59, 0xC4, 0x64, 0xC5, 0xCD, 0x11, 0xD6, \ 0x8A, 0x1C, 0x00, 0x03, 0x93, 0x53, 0xBD, 0x00)
UUID for a sine wave effect type
Last Updated: 2009-08-12