<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "GameController",
  "identifier" : "/documentation/GameController/kIOHIDGCSyntheticDeviceKey",
  "metadataVersion" : "0.1.0",
  "role" : "Global Variable",
  "symbol" : {
    "kind" : "Global Variable",
    "modules" : [
      "Game Controller"
    ],
    "preciseIdentifier" : "c:@macro@kIOHIDGCSyntheticDeviceKey"
  },
  "title" : "kIOHIDGCSyntheticDeviceKey"
}
-->

# kIOHIDGCSyntheticDeviceKey

A key that specifies whether the device is a game controller synthetic HID device.

```
var kIOHIDGCSyntheticDeviceKey: String { get }
```

## Discussion

This key is present with a Boolean value of `true` on all game controller synthetic HID devices that the Game Controller framework creates.

If your app needs to exclude these synthetic HID devices from discovery by <doc://com.apple.documentation/documentation/iokit/iohidmanagerref>, <doc://com.apple.documentation/documentation/iokit/1514494-ioservicegetmatchingservices>, or <doc://com.apple.documentation/documentation/iokit/1514362-ioserviceaddmatchingnotification>, include the [`kIOHIDGCSyntheticDeviceKey`](/documentation/GameController/kIOHIDGCSyntheticDeviceKey) with a value of `false` in the matching criteria.

```objc
IOHIDManagerRef manager = IOHIDManagerCreate(kCFAllocatorDefault, kIOHIDManagerOptionNone);
IOHIDManagerSetDeviceMatching(manager, (__bridge CFDictionaryRef)@{
    @kIOProviderClassKey: @kIOHIDDeviceKey,
    @kIOHIDGCSyntheticDeviceKey: @(NO)
});
```

Your code can check whether an <doc://com.apple.documentation/documentation/iokit/io_service_t> or an <doc://com.apple.documentation/documentation/iokit/iohiddeviceref> refers to a game controller synthetic HID device by querying the value of the [`kIOHIDGCSyntheticDeviceKey`](/documentation/GameController/kIOHIDGCSyntheticDeviceKey) property.

```objc
if ( IOHIDDeviceGetProperty(device, CFSTR(kIOHIDGCSyntheticDeviceKey)) == kCFBooleanTrue ) {
    // This is a synthetic HID device.
}
```

---

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)