<!--
{
  "availability" : [
    "macCatalyst: 13.0.0 -",
    "macOS: 10.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ForceFeedback",
  "identifier" : "/documentation/ForceFeedback/FFDeviceSetForceFeedbackProperty(_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Force Feedback"
    ],
    "preciseIdentifier" : "c:@F@FFDeviceSetForceFeedbackProperty"
  },
  "title" : "FFDeviceSetForceFeedbackProperty(_:_:_:)"
}
-->

# FFDeviceSetForceFeedbackProperty(_:_:_:)

Retrieves the device’s force feedback capabilities.

```
func FFDeviceSetForceFeedbackProperty(_ deviceReference: FFDeviceObjectReference!, _ property: FFProperty, _ pValue: UnsafeMutableRawPointer!) -> HRESULT
```

## Parameters

`deviceReference`

An opaque reference handle to the device object that is be disposed of. This handle is obtained from a previous call to FFCreateDevice.

`property`

The following property values are defined for a FF device:

    FFPROP_AUTOCENTER

    Specifies whether the actuated FF axes are self-centering. This property controls the device’s “default centering spring”.

    The pValue member points to a UInt32 can be one of the following values.

    0 - OFF: The device should not automatically center when the user releases the device. An application that uses force feedback should disable autocentering before playing effects.

    1 - ON: The device should automatically center when the user releases the device.

    Not all devices support the autocenter property.

    FFPROP_FFGAIN

    Sets the gain for the device.

    The pValue member points to a UInt32 that contains a gain value that is applied to all effects created on the device. The value is an integer in the range from 0 through 10,000, specifying the amount by which effect magnitudes should be scaled for the device. For example, a value of 10,000 indicates that all effect magnitudes are to be taken at face value. A value of 9,000 indicates that all effect magnitudes are to be reduced to 90% of their nominal magnitudes.

    Setting a gain value is useful when an application wants to scale down the strength of all force feedback effects uniformly, based on user preferences.

`pValue`

Address of the location where the property value is to be read. SetForceFeedbackProperty will assume that the data is valid, and of the correct type.

## Return Value

If the method succeeds, the return value is FF_OK or FFERR_UNSUPPORTED. If the method fails, the return value can be one of the following error values:

## Discussion

FFERR_INVALIDPARAM

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)