Class GCPhysicalInputProfile

  • All Implemented Interfaces:
    NSObject
    Direct Known Subclasses:
    GCExtendedGamepad, GCGamepad, GCKeyboardInput, GCMicroGamepad, GCMouseInput

    public class GCPhysicalInputProfile
    extends NSObject
    A game controller profile representing physical buttons, thumbsticks, dpads, etc... on a controller. All controller profiles provide a base level of information about the controller they belong to. A profile maps the hardware notion of a controller into a logical controller. One that a developer can design for and depend on, no matter the underlying hardware.
    • Constructor Detail

      • GCPhysicalInputProfile

        protected GCPhysicalInputProfile​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allElements

        public NSSet<? extends GCControllerElement> allElements()
        The following properties allow for dynamic querying of the input elements available on a profile.
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • capture

        public java.lang.Object capture()
        Polls the state vector of the physical input input and saves it to a new and writable instance of GCPhysicalInputProfile. If your application is heavily multithreaded this may also be useful to guarantee atomicity of input handling as a snapshot will not change based on user input once it is taken.
        Returns:
        A new physical input profile with the duplicated state vector of the current physical input
        See Also:
        snapshot
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • device

        public GCDevice device()
        A profile keeps a reference to the device that this profile is mapping input from
      • elements

        public NSDictionary<java.lang.String,​? extends GCControllerElement> elements()
        The following properties allow for runtime lookup of any input element on a profile, when provided with a valid alias. [@example] extendedGamepad.elements["Button A"] == extendedGamepad.buttonA // YES [@example] extendedGamepad.dpads["Left Thumbstick"] == extendedGamepad.leftThumbstick // YES [@example] extendedGamepad.dpads["Button B"] // returns nil, "Button B" is not a GCControllerDirectionPad
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • lastEventTimestamp

        public double lastEventTimestamp()
        The last time elements of this profile were updated.
      • new_objc

        public static java.lang.Object new_objc()
      • objectForKeyedSubscript

        public GCControllerElement objectForKeyedSubscript​(java.lang.String key)
        Profile elements can be accessed using keyed subscript notation, with a valid alias of its inputs. [@example] extendedGamepad["Button A"] == extendedGamepad.buttonA // YES [@example] microGamepad["Button X"] == microGamepad.buttonX // YES [@note] Equivalent to -elements
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setStateFromPhysicalInput

        public void setStateFromPhysicalInput​(GCPhysicalInputProfile physicalInput)
        Sets the state vector of the physical input profile to a copy of the passed in physical input profile's state vector. [@note] If the controller's snapshot flag is set to NO, this method has no effect.
        See Also:
        GCController.snapshot
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()