@class GCController, NSString, GCMotion, GCObjectPool, NSMutableDictionary, GCControllerElement, NSDictionary, NSMutableSet, NSObject, GCSProfile; @protocol NSObject, NSSecureCoding, GCSystemGestureComponent, GCDevice, OS_dispatch_queue, NSCopying; @interface GCPhysicalInputProfile : NSObject <GCNamedProfile, _GCGamepadEventSink, GCControllerComponent> { long long _inlineRefcount; GCObjectPool *pool; GCObjectPool *weakPool; BOOL pooled; id<GCDevice> _device; id _gamepadEventObservation; GCMotion *_motion; id /* block */ _valueDidChangedHandler; GCControllerElement *_remappedElements[45]; NSMutableSet *_allGestureAwareButtons; NSDictionary *_physicalInputNameToElementAlias; NSDictionary *_elementAliasToPhysicalInputNames; id<GCSystemGestureComponent> _systemGestureComponent; NSObject<OS_dispatch_queue> *_syntheticDeviceHandlerQueue; id /* block */ _syntheticDeviceElementValueChangedHandler; } @property (readonly) NSString *name; @property (retain) GCMotion *_motion; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (retain) NSObject<OS_dispatch_queue> *syntheticDeviceHandlerQueue; @property (copy) id /* block */ syntheticDeviceElementValueChangedHandler; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (copy, nonatomic) id /* block */ thumbstickUserIntentHandler; @property (retain, nonatomic) GCSProfile *settingsProfile; @property (nonatomic) BOOL hasRemappedElements; @property (readonly) NSObject<OS_dispatch_queue> *handlerQueue; @property double lastEventTimestamp; @property (readonly, nonatomic) NSMutableSet *_topLevelElements; @property (readonly, nonatomic) NSMutableSet *_topLevelButtons; @property (readonly, nonatomic) NSMutableSet *_topLevelDirectionPads; @property (readonly, nonatomic) NSMutableSet *_topLevelTouchpads; @property (weak, nonatomic) id<GCDevice> device; @property (readonly, weak, nonatomic) GCController *controller; @property (nonatomic) unsigned long long glyphFlags; @property (copy, nonatomic) id /* block */ valueDidChangeHandler; @property (readonly, nonatomic) NSMutableDictionary *elements; @property (readonly, nonatomic) NSMutableDictionary *buttons; @property (readonly, nonatomic) NSMutableDictionary *axes; @property (readonly, nonatomic) NSMutableDictionary *dpads; @property (readonly, nonatomic) NSMutableDictionary *touchpads; @property (readonly, nonatomic) NSMutableSet *allElements; @property (readonly, nonatomic) NSMutableSet *allButtons; @property (readonly, nonatomic) NSMutableSet *allAxes; @property (readonly, nonatomic) NSMutableSet *allDpads; @property (readonly, nonatomic) NSMutableSet *allTouchpads; @property (readonly) id<NSObject, NSCopying, NSSecureCoding> identifier; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (id)retain; - (id)capture; - (id)initWithIdentifier:(id)a0; - (void)setController:(id)a0; - (id)init; - (unsigned long long)retainCount; - (id)initWithController:(id)a0; - (BOOL)_tryRetain; - (unsigned int)sampleRate; - (void).cxx_destruct; - (BOOL)_isDeallocating; - (id)objectForKeyedSubscript:(id)a0; - (oneway void)release; - (void)setPlayerIndex:(long long)a0; - (id)productCategory; - (void)setGamepadEventSource:(id)a0; - (void)appDidBecomeActive; - (id)_buttonWithDescription:(id)a0; - (id)_buttonWithInfo:(struct { id x0; BOOL x1; BOOL x2; union { struct { int x0; BOOL x1; float x2; long long x3; } x0; struct { int x0; int x1; int x2; int x3; } x1; } x3; int x4; BOOL x5; BOOL x6; BOOL x7; id x8; id x9; })a0; - (id)_cursorWithInfo:(struct { id x0; BOOL x1; BOOL x2; union { struct { int x0; BOOL x1; float x2; long long x3; } x0; struct { int x0; int x1; int x2; int x3; } x1; } x3; int x4; BOOL x5; BOOL x6; BOOL x7; id x8; id x9; })a0; - (id)_directionPadWithDescription:(id)a0; - (id)_directionPadWithInfo:(struct { id x0; BOOL x1; BOOL x2; union { struct { int x0; BOOL x1; float x2; long long x3; } x0; struct { int x0; int x1; int x2; int x3; } x1; } x3; int x4; BOOL x5; BOOL x6; BOOL x7; id x8; id x9; })a0; - (id)_keyboardButtonWithInfo:(struct { id x0; BOOL x1; BOOL x2; union { struct { int x0; BOOL x1; float x2; long long x3; } x0; struct { int x0; int x1; int x2; int x3; } x1; } x3; int x4; BOOL x5; BOOL x6; BOOL x7; id x8; id x9; })a0; - (void)_legacy_handleEvent:(struct __IOHIDEvent { } *)a0; - (void)_receivedEvent; - (void)_receivedEventWithTimestamp:(unsigned long long)a0; - (void)_registerAxis:(id)a0; - (void)_registerButton:(id)a0; - (void)_registerDirectionPad:(id)a0; - (void)_registerTopLevelButton:(id)a0; - (void)_registerTopLevelDirectionPad:(id)a0; - (void)_registerTopLevelTouchpad:(id)a0; - (void)_registerTouchpad:(id)a0; - (id)_touchpadWithInfo:(struct { id x0; BOOL x1; BOOL x2; union { struct { int x0; BOOL x1; float x2; long long x3; } x0; struct { int x0; int x1; int x2; int x3; } x1; } x3; int x4; BOOL x5; BOOL x6; BOOL x7; id x8; id x9; })a0; - (void)_triggerValueChangedHandlerForElement:(id)a0 queue:(id)a1; - (void)_triggerValueChangedHandlerForElements:(id)a0 queue:(id)a1; - (void)appWillResignActive; - (void)applyGestureSettingsToButton:(id)a0 withSettings:(id)a1; - (void)applySettingsProfile:(id)a0; - (void)applySystemGestureComponent:(id)a0; - (id)initWithIdentifier:(id)a0 andPool:(id)a1; - (id)mappedElementAliasForPhysicalInputName:(id)a0; - (id)mappedPhysicalInputNamesForElementAlias:(id)a0; - (void)registerPhysicalInputName:(id)a0 toElementAlias:(id)a1 withPhysicalToElementMapping:(id)a2 withElementToPhysicalMapping:(id)a3; - (id)remappedElementForIndex:(long long)a0; - (void)setButton:(id)a0 pressed:(BOOL)a1; - (void)setButton:(id)a0 value:(double)a1; - (void)setDpad:(id)a0 x:(double)a1 y:(double)a2; - (void)setStateFromPhysicalInput:(id)a0; - (void)setThumbstickUserIntentHandler:(id /* block */)a0 slidingWindowTotalDuration:(double)a1 slidingWindowSegmentDuration:(double)a2 deadzone:(double)a3 sensitivity:(int)a4; - (BOOL)settingsProfile:(id)a0 differsFrom:(id)a1; - (void)updateElementDeviceReferences; - (void)updateSystemGesturesState:(id)a0; - (id /* block */)valueChangedHandler; @end