pyobjc-framework-GameController 12.2.1__tar.gz → 13.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/GameController/__init__.py +2 -0
  2. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/GameController/_metadata.py +104 -7
  3. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/pyobjc_framework_GameController.egg-info/PKG-INFO +5 -5
  4. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/pyobjc_framework_GameController.egg-info/SOURCES.txt +4 -2
  5. pyobjc_framework_gamecontroller-13.0/Lib/pyobjc_framework_GameController.egg-info/pyobjc-build-info.txt +3 -0
  6. pyobjc_framework_gamecontroller-13.0/Lib/pyobjc_framework_GameController.egg-info/requires.txt +2 -0
  7. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Modules/_GameController.m +9 -2
  8. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Modules/_GameController_protocols.m +6 -6
  9. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Modules/pyobjc-api.h +18 -4
  10. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Modules/pyobjc-compat.h +0 -18
  11. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PKG-INFO +5 -5
  12. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gamepad.py +3 -5
  13. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcaxiselement.py +1 -1
  14. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcaxisinput.py +1 -3
  15. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcbuttonelement.py +1 -1
  16. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gccontroller.py +27 -30
  17. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gccontrolleraxisinput.py +3 -5
  18. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gccontrollerbuttoninput.py +4 -6
  19. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gccontrollerdirectionpad.py +2 -2
  20. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gccontrollerelement.py +10 -8
  21. pyobjc_framework_gamecontroller-13.0/PyObjCTest/test_gccontrollerhomebuttonsettingsmanager.py +99 -0
  22. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gccontrollertouchpad.py +1 -3
  23. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdevice.py +1 -1
  24. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdevicebattery.py +1 -3
  25. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdevicehaptics.py +1 -1
  26. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdevicephysicalinput.py +10 -1
  27. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdevicephysicalinputstate.py +1 -1
  28. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdevicephysicalinputstatediff.py +2 -2
  29. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdirectionalgamepad.py +1 -1
  30. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdirectionpadelement.py +1 -1
  31. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcdualsenseadaptivetrigger.py +7 -8
  32. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcextendedgamepad.py +3 -5
  33. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcextendedgamepadsnapshot.py +3 -8
  34. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcgamepadsnapshot.py +4 -7
  35. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcinputnames.py +5 -5
  36. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gckeycodes.py +1 -1
  37. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gclinearinput.py +1 -3
  38. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcmicrogamepad.py +2 -2
  39. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcmicrogamepadsnapshot.py +11 -19
  40. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcmotion.py +4 -4
  41. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcphysicalinputelement.py +1 -1
  42. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcphysicalinputextents.py +1 -1
  43. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcphysicalinputprofile.py +2 -2
  44. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcphysicalinputsource.py +2 -2
  45. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcpressedstateinput.py +1 -1
  46. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcrelativeinput.py +1 -1
  47. pyobjc_framework_gamecontroller-13.0/PyObjCTest/test_gcspatialaccessory.py +20 -0
  48. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcswitchelement.py +1 -1
  49. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcswitchpositioninput.py +2 -2
  50. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gctouchedstateinput.py +1 -1
  51. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/metadata/GameController.fwinfo +44 -22
  52. pyobjc_framework_gamecontroller-12.2.1/metadata/raw/arm64-26.5.fwinfo → pyobjc_framework_gamecontroller-13.0/metadata/raw/arm64-27.fwinfo +589 -92
  53. pyobjc_framework_gamecontroller-12.2.1/metadata/raw/x86_64-26.5.fwinfo → pyobjc_framework_gamecontroller-13.0/metadata/raw/x86_64-27.fwinfo +589 -92
  54. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/pyobjc_setup.py +7 -7
  55. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/setup.py +1 -1
  56. pyobjc_framework_gamecontroller-12.2.1/Lib/pyobjc_framework_GameController.egg-info/pyobjc-build-info.txt +0 -3
  57. pyobjc_framework_gamecontroller-12.2.1/Lib/pyobjc_framework_GameController.egg-info/requires.txt +0 -2
  58. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/pyobjc_framework_GameController.egg-info/dependency_links.txt +0 -0
  59. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/pyobjc_framework_GameController.egg-info/not-zip-safe +0 -0
  60. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/Lib/pyobjc_framework_GameController.egg-info/top_level.txt +0 -0
  61. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/License.txt +0 -0
  62. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/MANIFEST.in +0 -0
  63. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/__init__.py +0 -0
  64. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gamecontroller.py +0 -0
  65. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gceventviewcontroller.py +0 -0
  66. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gckeyboard.py +0 -0
  67. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gckeyboardinput.py +0 -0
  68. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gckeynames.py +0 -0
  69. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcmouse.py +0 -0
  70. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcmouseinput.py +0 -0
  71. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcproductcategories.py +0 -0
  72. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcracingwheel.py +0 -0
  73. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcstylus.py +0 -0
  74. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/PyObjCTest/test_gcsyntheticdevicekeys.py +0 -0
  75. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/metadata/metadata.ini +0 -0
  76. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/pyproject.toml +0 -0
  77. {pyobjc_framework_gamecontroller-12.2.1 → pyobjc_framework_gamecontroller-13.0}/setup.cfg +0 -0
@@ -40,6 +40,8 @@ def _setup():
40
40
  ("GCDeviceLight", b"init"),
41
41
  ("GCRacingWheel", b"init"),
42
42
  ("GCColor", b"init"),
43
+ ("GCDeviceHaptics", b"init"),
44
+ ("GCDeviceType", b"init"),
43
45
  ):
44
46
  objc.registerUnavailableMethod(cls, sel)
45
47
 
@@ -1,7 +1,5 @@
1
1
  # This file is generated by objective.metadata
2
2
  #
3
- # Last update: Thu May 28 22:00:51 2026
4
- #
5
3
  # flake8: noqa
6
4
 
7
5
  import objc, sys
@@ -144,14 +142,17 @@ misc.update(
144
142
  ),
145
143
  }
146
144
  )
147
- constants = """$GCControllerDidBecomeCurrentNotification$GCControllerDidConnectNotification$GCControllerDidDisconnectNotification$GCControllerDidStopBeingCurrentNotification$GCControllerUserCustomizationsDidChangeNotification$GCCurrentExtendedGamepadSnapshotDataVersion@q$GCCurrentMicroGamepadSnapshotDataVersion@q$GCHapticDurationInfinite@f$GCHapticsLocalityAll$GCHapticsLocalityDefault$GCHapticsLocalityHandles$GCHapticsLocalityLeftHandle$GCHapticsLocalityLeftTrigger$GCHapticsLocalityRightHandle$GCHapticsLocalityRightTrigger$GCHapticsLocalityTriggers$GCInputButtonA$GCInputButtonB$GCInputButtonHome$GCInputButtonMenu$GCInputButtonOptions$GCInputButtonShare$GCInputButtonX$GCInputButtonY$GCInputDirectionPad$GCInputDirectionalCardinalDpad$GCInputDirectionalCenterButton$GCInputDirectionalDpad$GCInputDirectionalTouchSurfaceButton$GCInputDualShockTouchpadButton$GCInputDualShockTouchpadOne$GCInputDualShockTouchpadTwo$GCInputGripButton$GCInputLeftBumper$GCInputLeftPaddle$GCInputLeftShoulder$GCInputLeftSideButton$GCInputLeftThumbstick$GCInputLeftThumbstickButton$GCInputLeftTrigger$GCInputMicroGamepadButtonA$GCInputMicroGamepadButtonMenu$GCInputMicroGamepadButtonX$GCInputMicroGamepadDpad$GCInputPedalAccelerator$GCInputPedalBrake$GCInputPedalClutch$GCInputRightBumper$GCInputRightPaddle$GCInputRightShoulder$GCInputRightSideButton$GCInputRightThumbstick$GCInputRightThumbstickButton$GCInputRightTrigger$GCInputShifter$GCInputSteeringWheel$GCInputStylusPrimaryButton$GCInputStylusSecondaryButton$GCInputStylusTip$GCInputThumbstick$GCInputThumbstickButton$GCInputTrigger$GCInputXboxPaddleFour$GCInputXboxPaddleOne$GCInputXboxPaddleThree$GCInputXboxPaddleTwo$GCKeyA$GCKeyApplication$GCKeyB$GCKeyBackslash$GCKeyC$GCKeyCapsLock$GCKeyCloseBracket$GCKeyCodeApplication@q$GCKeyCodeBackslash@q$GCKeyCodeCapsLock@q$GCKeyCodeCloseBracket@q$GCKeyCodeComma@q$GCKeyCodeDeleteForward@q$GCKeyCodeDeleteOrBackspace@q$GCKeyCodeDownArrow@q$GCKeyCodeEight@q$GCKeyCodeEnd@q$GCKeyCodeEqualSign@q$GCKeyCodeEscape@q$GCKeyCodeF1@q$GCKeyCodeF10@q$GCKeyCodeF11@q$GCKeyCodeF12@q$GCKeyCodeF13@q$GCKeyCodeF14@q$GCKeyCodeF15@q$GCKeyCodeF16@q$GCKeyCodeF17@q$GCKeyCodeF18@q$GCKeyCodeF19@q$GCKeyCodeF2@q$GCKeyCodeF20@q$GCKeyCodeF3@q$GCKeyCodeF4@q$GCKeyCodeF5@q$GCKeyCodeF6@q$GCKeyCodeF7@q$GCKeyCodeF8@q$GCKeyCodeF9@q$GCKeyCodeFive@q$GCKeyCodeFour@q$GCKeyCodeGraveAccentAndTilde@q$GCKeyCodeHome@q$GCKeyCodeHyphen@q$GCKeyCodeInsert@q$GCKeyCodeInternational1@q$GCKeyCodeInternational2@q$GCKeyCodeInternational3@q$GCKeyCodeInternational4@q$GCKeyCodeInternational5@q$GCKeyCodeInternational6@q$GCKeyCodeInternational7@q$GCKeyCodeInternational8@q$GCKeyCodeInternational9@q$GCKeyCodeKeyA@q$GCKeyCodeKeyB@q$GCKeyCodeKeyC@q$GCKeyCodeKeyD@q$GCKeyCodeKeyE@q$GCKeyCodeKeyF@q$GCKeyCodeKeyG@q$GCKeyCodeKeyH@q$GCKeyCodeKeyI@q$GCKeyCodeKeyJ@q$GCKeyCodeKeyK@q$GCKeyCodeKeyL@q$GCKeyCodeKeyM@q$GCKeyCodeKeyN@q$GCKeyCodeKeyO@q$GCKeyCodeKeyP@q$GCKeyCodeKeyQ@q$GCKeyCodeKeyR@q$GCKeyCodeKeyS@q$GCKeyCodeKeyT@q$GCKeyCodeKeyU@q$GCKeyCodeKeyV@q$GCKeyCodeKeyW@q$GCKeyCodeKeyX@q$GCKeyCodeKeyY@q$GCKeyCodeKeyZ@q$GCKeyCodeKeypad0@q$GCKeyCodeKeypad1@q$GCKeyCodeKeypad2@q$GCKeyCodeKeypad3@q$GCKeyCodeKeypad4@q$GCKeyCodeKeypad5@q$GCKeyCodeKeypad6@q$GCKeyCodeKeypad7@q$GCKeyCodeKeypad8@q$GCKeyCodeKeypad9@q$GCKeyCodeKeypadAsterisk@q$GCKeyCodeKeypadEnter@q$GCKeyCodeKeypadEqualSign@q$GCKeyCodeKeypadHyphen@q$GCKeyCodeKeypadNumLock@q$GCKeyCodeKeypadPeriod@q$GCKeyCodeKeypadPlus@q$GCKeyCodeKeypadSlash@q$GCKeyCodeLANG1@q$GCKeyCodeLANG2@q$GCKeyCodeLANG3@q$GCKeyCodeLANG4@q$GCKeyCodeLANG5@q$GCKeyCodeLANG6@q$GCKeyCodeLANG7@q$GCKeyCodeLANG8@q$GCKeyCodeLANG9@q$GCKeyCodeLeftAlt@q$GCKeyCodeLeftArrow@q$GCKeyCodeLeftControl@q$GCKeyCodeLeftGUI@q$GCKeyCodeLeftShift@q$GCKeyCodeNine@q$GCKeyCodeNonUSBackslash@q$GCKeyCodeNonUSPound@q$GCKeyCodeOne@q$GCKeyCodeOpenBracket@q$GCKeyCodePageDown@q$GCKeyCodePageUp@q$GCKeyCodePause@q$GCKeyCodePeriod@q$GCKeyCodePower@q$GCKeyCodePrintScreen@q$GCKeyCodeQuote@q$GCKeyCodeReturnOrEnter@q$GCKeyCodeRightAlt@q$GCKeyCodeRightArrow@q$GCKeyCodeRightControl@q$GCKeyCodeRightGUI@q$GCKeyCodeRightShift@q$GCKeyCodeScrollLock@q$GCKeyCodeSemicolon@q$GCKeyCodeSeven@q$GCKeyCodeSix@q$GCKeyCodeSlash@q$GCKeyCodeSpacebar@q$GCKeyCodeTab@q$GCKeyCodeThree@q$GCKeyCodeTwo@q$GCKeyCodeUpArrow@q$GCKeyCodeZero@q$GCKeyComma$GCKeyD$GCKeyDeleteForward$GCKeyDeleteOrBackspace$GCKeyDownArrow$GCKeyE$GCKeyEight$GCKeyEnd$GCKeyEqualSign$GCKeyEscape$GCKeyF$GCKeyF1$GCKeyF10$GCKeyF11$GCKeyF12$GCKeyF13$GCKeyF14$GCKeyF15$GCKeyF16$GCKeyF17$GCKeyF18$GCKeyF19$GCKeyF2$GCKeyF20$GCKeyF3$GCKeyF4$GCKeyF5$GCKeyF6$GCKeyF7$GCKeyF8$GCKeyF9$GCKeyFive$GCKeyFour$GCKeyG$GCKeyGraveAccentAndTilde$GCKeyH$GCKeyHome$GCKeyHyphen$GCKeyI$GCKeyInsert$GCKeyInternational1$GCKeyInternational2$GCKeyInternational3$GCKeyInternational4$GCKeyInternational5$GCKeyInternational6$GCKeyInternational7$GCKeyInternational8$GCKeyInternational9$GCKeyJ$GCKeyK$GCKeyKeypad0$GCKeyKeypad1$GCKeyKeypad2$GCKeyKeypad3$GCKeyKeypad4$GCKeyKeypad5$GCKeyKeypad6$GCKeyKeypad7$GCKeyKeypad8$GCKeyKeypad9$GCKeyKeypadAsterisk$GCKeyKeypadEnter$GCKeyKeypadEqualSign$GCKeyKeypadHyphen$GCKeyKeypadNumLock$GCKeyKeypadPeriod$GCKeyKeypadPlus$GCKeyKeypadSlash$GCKeyL$GCKeyLANG1$GCKeyLANG2$GCKeyLANG3$GCKeyLANG4$GCKeyLANG5$GCKeyLANG6$GCKeyLANG7$GCKeyLANG8$GCKeyLANG9$GCKeyLeftAlt$GCKeyLeftArrow$GCKeyLeftControl$GCKeyLeftGUI$GCKeyLeftShift$GCKeyM$GCKeyN$GCKeyNine$GCKeyNonUSBackslash$GCKeyNonUSPound$GCKeyO$GCKeyOne$GCKeyOpenBracket$GCKeyP$GCKeyPageDown$GCKeyPageUp$GCKeyPause$GCKeyPeriod$GCKeyPower$GCKeyPrintScreen$GCKeyQ$GCKeyQuote$GCKeyR$GCKeyReturnOrEnter$GCKeyRightAlt$GCKeyRightArrow$GCKeyRightControl$GCKeyRightGUI$GCKeyRightShift$GCKeyS$GCKeyScrollLock$GCKeySemicolon$GCKeySeven$GCKeySix$GCKeySlash$GCKeySpacebar$GCKeyT$GCKeyTab$GCKeyThree$GCKeyTwo$GCKeyU$GCKeyUpArrow$GCKeyV$GCKeyW$GCKeyX$GCKeyY$GCKeyZ$GCKeyZero$GCKeyboardDidConnectNotification$GCKeyboardDidDisconnectNotification$GCMouseDidBecomeCurrentNotification$GCMouseDidConnectNotification$GCMouseDidDisconnectNotification$GCMouseDidStopBeingCurrentNotification$GCPoint2Zero@{GCPoint2=ff}$GCProductCategoryArcadeStick$GCProductCategoryCoalescedRemote$GCProductCategoryControlCenterRemote$GCProductCategoryDualSense$GCProductCategoryDualShock4$GCProductCategoryHID$GCProductCategoryKeyboard$GCProductCategoryMFi$GCProductCategoryMouse$GCProductCategorySiriRemote1stGen$GCProductCategorySiriRemote2ndGen$GCProductCategorySpatialController$GCProductCategorySpatialStylus$GCProductCategoryUniversalElectronicsRemote$GCProductCategoryXboxOne$GCRacingWheelDidConnectNotification$GCRacingWheelDidDisconnectNotification$GCStylusDidConnectNotification$GCStylusDidDisconnectNotification$"""
148
- enums = """$GCControllerPlayerIndex1@0$GCControllerPlayerIndex2@1$GCControllerPlayerIndex3@2$GCControllerPlayerIndex4@3$GCControllerPlayerIndexUnset@-1$GCDeviceBatteryStateCharging@1$GCDeviceBatteryStateDischarging@0$GCDeviceBatteryStateFull@2$GCDeviceBatteryStateUnknown@-1$GCDevicePhysicalInputElementChanged@1$GCDevicePhysicalInputElementNoChange@0$GCDevicePhysicalInputElementUnknownChange@-1$GCDualSenseAdaptiveTriggerDiscretePositionCount@10$GCDualSenseAdaptiveTriggerModeFeedback@1$GCDualSenseAdaptiveTriggerModeOff@0$GCDualSenseAdaptiveTriggerModeSlopeFeedback@4$GCDualSenseAdaptiveTriggerModeVibration@3$GCDualSenseAdaptiveTriggerModeWeapon@2$GCDualSenseAdaptiveTriggerStatusFeedbackLoadApplied@1$GCDualSenseAdaptiveTriggerStatusFeedbackNoLoad@0$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackApplyingLoad@8$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackFinished@9$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackReady@7$GCDualSenseAdaptiveTriggerStatusUnknown@-1$GCDualSenseAdaptiveTriggerStatusVibrationIsVibrating@6$GCDualSenseAdaptiveTriggerStatusVibrationNotVibrating@5$GCDualSenseAdaptiveTriggerStatusWeaponFired@4$GCDualSenseAdaptiveTriggerStatusWeaponFiring@3$GCDualSenseAdaptiveTriggerStatusWeaponReady@2$GCExtendedGamepadSnapshotDataVersion1@256$GCExtendedGamepadSnapshotDataVersion2@257$GCMicroGamepadSnapshotDataVersion1@256$GCPhysicalInputSourceDirectionDown@4$GCPhysicalInputSourceDirectionLeft@8$GCPhysicalInputSourceDirectionNotApplicable@0$GCPhysicalInputSourceDirectionRight@2$GCPhysicalInputSourceDirectionUp@1$GCSystemGestureStateAlwaysReceive@1$GCSystemGestureStateDisabled@2$GCSystemGestureStateEnabled@0$GCTouchStateDown@1$GCTouchStateMoving@2$GCTouchStateUp@0$"""
145
+ constants = """$GCControllerDidBecomeCurrentNotification$GCControllerDidConnectNotification$GCControllerDidDisconnectNotification$GCControllerDidStopBeingCurrentNotification$GCControllerUserCustomizationsDidChangeNotification$GCCurrentExtendedGamepadSnapshotDataVersion@q$GCCurrentMicroGamepadSnapshotDataVersion@q$GCHapticDurationInfinite@f$GCHapticsLocalityAll$GCHapticsLocalityDefault$GCHapticsLocalityHandles$GCHapticsLocalityLeftHandle$GCHapticsLocalityLeftTrigger$GCHapticsLocalityRightHandle$GCHapticsLocalityRightTrigger$GCHapticsLocalityTriggers$GCInputButtonA$GCInputButtonB$GCInputButtonHome$GCInputButtonMenu$GCInputButtonOptions$GCInputButtonShare$GCInputButtonX$GCInputButtonY$GCInputDirectionPad$GCInputDirectionalCardinalDpad$GCInputDirectionalCenterButton$GCInputDirectionalDpad$GCInputDirectionalTouchSurfaceButton$GCInputDualShockTouchpadButton$GCInputDualShockTouchpadOne$GCInputDualShockTouchpadTwo$GCInputGripButton$GCInputLeftBumper$GCInputLeftPaddle$GCInputLeftShoulder$GCInputLeftSideButton$GCInputLeftThumbstick$GCInputLeftThumbstickButton$GCInputLeftTrigger$GCInputMicroGamepadButtonA$GCInputMicroGamepadButtonMenu$GCInputMicroGamepadButtonX$GCInputMicroGamepadDpad$GCInputPedalAccelerator$GCInputPedalBrake$GCInputPedalClutch$GCInputRightBumper$GCInputRightPaddle$GCInputRightShoulder$GCInputRightSideButton$GCInputRightThumbstick$GCInputRightThumbstickButton$GCInputRightTrigger$GCInputShifter$GCInputSteeringWheel$GCInputStylusPrimaryButton$GCInputStylusSecondaryButton$GCInputStylusTip$GCInputThumbstick$GCInputThumbstickButton$GCInputTrigger$GCInputXboxPaddleFour$GCInputXboxPaddleOne$GCInputXboxPaddleThree$GCInputXboxPaddleTwo$GCKeyA$GCKeyApplication$GCKeyB$GCKeyBackslash$GCKeyC$GCKeyCapsLock$GCKeyCloseBracket$GCKeyCodeApplication@q$GCKeyCodeBackslash@q$GCKeyCodeCapsLock@q$GCKeyCodeCloseBracket@q$GCKeyCodeComma@q$GCKeyCodeDeleteForward@q$GCKeyCodeDeleteOrBackspace@q$GCKeyCodeDownArrow@q$GCKeyCodeEight@q$GCKeyCodeEnd@q$GCKeyCodeEqualSign@q$GCKeyCodeEscape@q$GCKeyCodeF1@q$GCKeyCodeF10@q$GCKeyCodeF11@q$GCKeyCodeF12@q$GCKeyCodeF13@q$GCKeyCodeF14@q$GCKeyCodeF15@q$GCKeyCodeF16@q$GCKeyCodeF17@q$GCKeyCodeF18@q$GCKeyCodeF19@q$GCKeyCodeF2@q$GCKeyCodeF20@q$GCKeyCodeF3@q$GCKeyCodeF4@q$GCKeyCodeF5@q$GCKeyCodeF6@q$GCKeyCodeF7@q$GCKeyCodeF8@q$GCKeyCodeF9@q$GCKeyCodeFive@q$GCKeyCodeFour@q$GCKeyCodeGraveAccentAndTilde@q$GCKeyCodeHome@q$GCKeyCodeHyphen@q$GCKeyCodeInsert@q$GCKeyCodeInternational1@q$GCKeyCodeInternational2@q$GCKeyCodeInternational3@q$GCKeyCodeInternational4@q$GCKeyCodeInternational5@q$GCKeyCodeInternational6@q$GCKeyCodeInternational7@q$GCKeyCodeInternational8@q$GCKeyCodeInternational9@q$GCKeyCodeKeyA@q$GCKeyCodeKeyB@q$GCKeyCodeKeyC@q$GCKeyCodeKeyD@q$GCKeyCodeKeyE@q$GCKeyCodeKeyF@q$GCKeyCodeKeyG@q$GCKeyCodeKeyH@q$GCKeyCodeKeyI@q$GCKeyCodeKeyJ@q$GCKeyCodeKeyK@q$GCKeyCodeKeyL@q$GCKeyCodeKeyM@q$GCKeyCodeKeyN@q$GCKeyCodeKeyO@q$GCKeyCodeKeyP@q$GCKeyCodeKeyQ@q$GCKeyCodeKeyR@q$GCKeyCodeKeyS@q$GCKeyCodeKeyT@q$GCKeyCodeKeyU@q$GCKeyCodeKeyV@q$GCKeyCodeKeyW@q$GCKeyCodeKeyX@q$GCKeyCodeKeyY@q$GCKeyCodeKeyZ@q$GCKeyCodeKeypad0@q$GCKeyCodeKeypad1@q$GCKeyCodeKeypad2@q$GCKeyCodeKeypad3@q$GCKeyCodeKeypad4@q$GCKeyCodeKeypad5@q$GCKeyCodeKeypad6@q$GCKeyCodeKeypad7@q$GCKeyCodeKeypad8@q$GCKeyCodeKeypad9@q$GCKeyCodeKeypadAsterisk@q$GCKeyCodeKeypadEnter@q$GCKeyCodeKeypadEqualSign@q$GCKeyCodeKeypadHyphen@q$GCKeyCodeKeypadNumLock@q$GCKeyCodeKeypadPeriod@q$GCKeyCodeKeypadPlus@q$GCKeyCodeKeypadSlash@q$GCKeyCodeLANG1@q$GCKeyCodeLANG2@q$GCKeyCodeLANG3@q$GCKeyCodeLANG4@q$GCKeyCodeLANG5@q$GCKeyCodeLANG6@q$GCKeyCodeLANG7@q$GCKeyCodeLANG8@q$GCKeyCodeLANG9@q$GCKeyCodeLeftAlt@q$GCKeyCodeLeftArrow@q$GCKeyCodeLeftControl@q$GCKeyCodeLeftGUI@q$GCKeyCodeLeftShift@q$GCKeyCodeNine@q$GCKeyCodeNonUSBackslash@q$GCKeyCodeNonUSPound@q$GCKeyCodeOne@q$GCKeyCodeOpenBracket@q$GCKeyCodePageDown@q$GCKeyCodePageUp@q$GCKeyCodePause@q$GCKeyCodePeriod@q$GCKeyCodePower@q$GCKeyCodePrintScreen@q$GCKeyCodeQuote@q$GCKeyCodeReturnOrEnter@q$GCKeyCodeRightAlt@q$GCKeyCodeRightArrow@q$GCKeyCodeRightControl@q$GCKeyCodeRightGUI@q$GCKeyCodeRightShift@q$GCKeyCodeScrollLock@q$GCKeyCodeSemicolon@q$GCKeyCodeSeven@q$GCKeyCodeSix@q$GCKeyCodeSlash@q$GCKeyCodeSpacebar@q$GCKeyCodeTab@q$GCKeyCodeThree@q$GCKeyCodeTwo@q$GCKeyCodeUpArrow@q$GCKeyCodeZero@q$GCKeyComma$GCKeyD$GCKeyDeleteForward$GCKeyDeleteOrBackspace$GCKeyDownArrow$GCKeyE$GCKeyEight$GCKeyEnd$GCKeyEqualSign$GCKeyEscape$GCKeyF$GCKeyF1$GCKeyF10$GCKeyF11$GCKeyF12$GCKeyF13$GCKeyF14$GCKeyF15$GCKeyF16$GCKeyF17$GCKeyF18$GCKeyF19$GCKeyF2$GCKeyF20$GCKeyF3$GCKeyF4$GCKeyF5$GCKeyF6$GCKeyF7$GCKeyF8$GCKeyF9$GCKeyFive$GCKeyFour$GCKeyG$GCKeyGraveAccentAndTilde$GCKeyH$GCKeyHome$GCKeyHyphen$GCKeyI$GCKeyInsert$GCKeyInternational1$GCKeyInternational2$GCKeyInternational3$GCKeyInternational4$GCKeyInternational5$GCKeyInternational6$GCKeyInternational7$GCKeyInternational8$GCKeyInternational9$GCKeyJ$GCKeyK$GCKeyKeypad0$GCKeyKeypad1$GCKeyKeypad2$GCKeyKeypad3$GCKeyKeypad4$GCKeyKeypad5$GCKeyKeypad6$GCKeyKeypad7$GCKeyKeypad8$GCKeyKeypad9$GCKeyKeypadAsterisk$GCKeyKeypadEnter$GCKeyKeypadEqualSign$GCKeyKeypadHyphen$GCKeyKeypadNumLock$GCKeyKeypadPeriod$GCKeyKeypadPlus$GCKeyKeypadSlash$GCKeyL$GCKeyLANG1$GCKeyLANG2$GCKeyLANG3$GCKeyLANG4$GCKeyLANG5$GCKeyLANG6$GCKeyLANG7$GCKeyLANG8$GCKeyLANG9$GCKeyLeftAlt$GCKeyLeftArrow$GCKeyLeftControl$GCKeyLeftGUI$GCKeyLeftShift$GCKeyM$GCKeyN$GCKeyNine$GCKeyNonUSBackslash$GCKeyNonUSPound$GCKeyO$GCKeyOne$GCKeyOpenBracket$GCKeyP$GCKeyPageDown$GCKeyPageUp$GCKeyPause$GCKeyPeriod$GCKeyPower$GCKeyPrintScreen$GCKeyQ$GCKeyQuote$GCKeyR$GCKeyReturnOrEnter$GCKeyRightAlt$GCKeyRightArrow$GCKeyRightControl$GCKeyRightGUI$GCKeyRightShift$GCKeyS$GCKeyScrollLock$GCKeySemicolon$GCKeySeven$GCKeySix$GCKeySlash$GCKeySpacebar$GCKeyT$GCKeyTab$GCKeyThree$GCKeyTwo$GCKeyU$GCKeyUpArrow$GCKeyV$GCKeyW$GCKeyX$GCKeyY$GCKeyZ$GCKeyZero$GCKeyboardDidConnectNotification$GCKeyboardDidDisconnectNotification$GCMouseDidBecomeCurrentNotification$GCMouseDidConnectNotification$GCMouseDidDisconnectNotification$GCMouseDidStopBeingCurrentNotification$GCPoint2Zero@{GCPoint2=ff}$GCProductCategoryArcadeStick$GCProductCategoryCoalescedRemote$GCProductCategoryControlCenterRemote$GCProductCategoryDualSense$GCProductCategoryDualShock4$GCProductCategoryHID$GCProductCategoryKeyboard$GCProductCategoryMFi$GCProductCategoryMouse$GCProductCategorySiriRemote1stGen$GCProductCategorySiriRemote2ndGen$GCProductCategorySpatialController$GCProductCategorySpatialStylus$GCProductCategoryUniversalElectronicsRemote$GCProductCategoryXboxOne$GCRacingWheelDidConnectNotification$GCRacingWheelDidDisconnectNotification$GCSpatialAccessoryDidConnectNotification$GCSpatialAccessoryDidDisconnectNotification$GCStylusDidConnectNotification$GCStylusDidDisconnectNotification$"""
146
+ enums = """$GCControllerHomeButtonSettingCustomizationDefault@0$GCControllerHomeButtonSettingCustomizationUser@1$GCControllerHomeButtonSettingInAppActionDefault@0$GCControllerHomeButtonSettingInAppActionDefer@1$GCControllerHomeButtonSettingInAppActionDisabled@9223372036854775807$GCControllerHomeButtonSettingInAppActionUnavailable@-1$GCControllerHomeButtonSettingSystemActionDisabled@9223372036854775807$GCControllerHomeButtonSettingSystemActionOpenCurrentApplication@1$GCControllerHomeButtonSettingSystemActionOther@0$GCControllerHomeButtonSettingSystemActionUnavailable@-1$GCControllerHomeButtonSettingsCustomizeInAppActionActivity@2$GCControllerHomeButtonSettingsCustomizeSystemActionActivity@1$GCControllerPlayerIndex1@0$GCControllerPlayerIndex2@1$GCControllerPlayerIndex3@2$GCControllerPlayerIndex4@3$GCControllerPlayerIndexUnset@-1$GCDeviceBatteryStateCharging@1$GCDeviceBatteryStateDischarging@0$GCDeviceBatteryStateFull@2$GCDeviceBatteryStateUnknown@-1$GCDevicePhysicalInputElementChanged@1$GCDevicePhysicalInputElementNoChange@0$GCDevicePhysicalInputElementUnknownChange@-1$GCDualSenseAdaptiveTriggerDiscretePositionCount@10$GCDualSenseAdaptiveTriggerModeFeedback@1$GCDualSenseAdaptiveTriggerModeOff@0$GCDualSenseAdaptiveTriggerModeSlopeFeedback@4$GCDualSenseAdaptiveTriggerModeVibration@3$GCDualSenseAdaptiveTriggerModeWeapon@2$GCDualSenseAdaptiveTriggerStatusFeedbackLoadApplied@1$GCDualSenseAdaptiveTriggerStatusFeedbackNoLoad@0$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackApplyingLoad@8$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackFinished@9$GCDualSenseAdaptiveTriggerStatusSlopeFeedbackReady@7$GCDualSenseAdaptiveTriggerStatusUnknown@-1$GCDualSenseAdaptiveTriggerStatusVibrationIsVibrating@6$GCDualSenseAdaptiveTriggerStatusVibrationNotVibrating@5$GCDualSenseAdaptiveTriggerStatusWeaponFired@4$GCDualSenseAdaptiveTriggerStatusWeaponFiring@3$GCDualSenseAdaptiveTriggerStatusWeaponReady@2$GCExtendedGamepadSnapshotDataVersion1@256$GCExtendedGamepadSnapshotDataVersion2@257$GCMicroGamepadSnapshotDataVersion1@256$GCPhysicalInputSourceDirectionDown@4$GCPhysicalInputSourceDirectionLeft@8$GCPhysicalInputSourceDirectionNotApplicable@0$GCPhysicalInputSourceDirectionRight@2$GCPhysicalInputSourceDirectionUp@1$GCSystemGestureStateAlwaysReceive@1$GCSystemGestureStateDisabled@2$GCSystemGestureStateEnabled@0$GCTouchStateDown@1$GCTouchStateMoving@2$GCTouchStateUp@0$"""
149
147
  misc.update(
150
148
  {
151
149
  "GCDevicePhysicalInputElementChange": NewType(
152
150
  "GCDevicePhysicalInputElementChange", int
153
151
  ),
154
152
  "GCDeviceBatteryState": NewType("GCDeviceBatteryState", int),
153
+ "GCDualSenseAdaptiveTriggerMode": NewType(
154
+ "GCDualSenseAdaptiveTriggerMode", int
155
+ ),
155
156
  "GCControllerPlayerIndex": NewType("GCControllerPlayerIndex", int),
156
157
  "GCMicroGamepadSnapshotDataVersion": NewType(
157
158
  "GCMicroGamepadSnapshotDataVersion", int
@@ -159,15 +160,24 @@ misc.update(
159
160
  "GCDualSenseAdaptiveTriggerStatus": NewType(
160
161
  "GCDualSenseAdaptiveTriggerStatus", int
161
162
  ),
163
+ "GCControllerHomeButtonSettingsCustomizationActivity": NewType(
164
+ "GCControllerHomeButtonSettingsCustomizationActivity", int
165
+ ),
162
166
  "GCSystemGestureState": NewType("GCSystemGestureState", int),
167
+ "GCControllerHomeButtonSettingCustomizationStatus": NewType(
168
+ "GCControllerHomeButtonSettingCustomizationStatus", int
169
+ ),
163
170
  "GCPhysicalInputSourceDirection": NewType(
164
171
  "GCPhysicalInputSourceDirection", int
165
172
  ),
166
173
  "GCExtendedGamepadSnapshotDataVersion": NewType(
167
174
  "GCExtendedGamepadSnapshotDataVersion", int
168
175
  ),
169
- "GCDualSenseAdaptiveTriggerMode": NewType(
170
- "GCDualSenseAdaptiveTriggerMode", int
176
+ "GCControllerHomeButtonSettingInAppAction": NewType(
177
+ "GCControllerHomeButtonSettingInAppAction", int
178
+ ),
179
+ "GCControllerHomeButtonSettingSystemAction": NewType(
180
+ "GCControllerHomeButtonSettingSystemAction", int
171
181
  ),
172
182
  "GCTouchState": NewType("GCTouchState", int),
173
183
  }
@@ -482,6 +492,57 @@ try:
482
492
  )
483
493
  r(b"GCControllerElement", b"isAnalog", {"retval": {"type": b"Z"}})
484
494
  r(b"GCControllerElement", b"isBoundToSystemGesture", {"retval": {"type": b"Z"}})
495
+ r(
496
+ b"GCControllerHomeButtonSettingsManager",
497
+ b"openControllerHomeButtonSettingsForActivity:error:",
498
+ {"retval": {"type": b"Z"}, "arguments": {3: {"type_modifier": b"o"}}},
499
+ )
500
+ r(
501
+ b"GCControllerHomeButtonSettingsManager",
502
+ b"readControllerHomeButtonInAppAction:withError:",
503
+ {"arguments": {3: {"type_modifier": b"o"}}},
504
+ )
505
+ r(
506
+ b"GCControllerHomeButtonSettingsManager",
507
+ b"readControllerHomeButtonInAppActionWithError:",
508
+ {"arguments": {2: {"type_modifier": b"o"}}},
509
+ )
510
+ r(
511
+ b"GCControllerHomeButtonSettingsManager",
512
+ b"readControllerHomeButtonSystemAction:withError:",
513
+ {"arguments": {3: {"type_modifier": b"o"}}},
514
+ )
515
+ r(
516
+ b"GCControllerHomeButtonSettingsManager",
517
+ b"readControllerHomeButtonSystemActionWithError:",
518
+ {"arguments": {2: {"type_modifier": b"o"}}},
519
+ )
520
+ r(
521
+ b"GCControllerHomeButtonSettingsManager",
522
+ b"setSettingsDidChangeHandler:",
523
+ {
524
+ "arguments": {
525
+ 2: {
526
+ "callable": {
527
+ "retval": {"type": b"v"},
528
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
529
+ }
530
+ }
531
+ }
532
+ },
533
+ )
534
+ r(
535
+ b"GCControllerHomeButtonSettingsManager",
536
+ b"settingsDidChangeHandler",
537
+ {
538
+ "retval": {
539
+ "callable": {
540
+ "retval": {"type": b"v"},
541
+ "arguments": {0: {"type": b"^v"}, 1: {"type": b"@"}},
542
+ }
543
+ }
544
+ },
545
+ )
485
546
  r(
486
547
  b"GCControllerTouchpad",
487
548
  b"reportsAbsoluteTouchSurfaceValues",
@@ -921,6 +982,7 @@ try:
921
982
  )
922
983
  r(b"GCRacingWheel", b"isAcquired", {"retval": {"type": b"Z"}})
923
984
  r(b"GCRacingWheel", b"isSnapshot", {"retval": {"type": b"Z"}})
985
+ r(b"GCSpatialAccessory", b"conformsToDeviceType:", {"retval": {"type": b"Z"}})
924
986
  r(b"NSObject", b"absoluteInput", {"required": True, "retval": {"type": b"@"}})
925
987
  r(b"NSObject", b"aliases", {"required": True, "retval": {"type": b"@"}})
926
988
  r(b"NSObject", b"axes", {"required": True, "retval": {"type": b"@"}})
@@ -998,6 +1060,11 @@ try:
998
1060
  },
999
1061
  },
1000
1062
  )
1063
+ r(
1064
+ b"NSObject",
1065
+ b"inputStateForSpatialAccessoryAnchorTimestamp:",
1066
+ {"required": True, "retval": {"type": b"@"}, "arguments": {2: {"type": b"d"}}},
1067
+ )
1001
1068
  r(
1002
1069
  b"NSObject",
1003
1070
  b"inputStateQueueDepth",
@@ -1322,9 +1389,13 @@ finally:
1322
1389
 
1323
1390
  objc.registerNewKeywordsFromSelector("GCColor", b"init")
1324
1391
  objc.registerNewKeywordsFromSelector("GCColor", b"initWithRed:green:blue:")
1392
+ objc.registerNewKeywordsFromSelector("GCControllerHomeButtonSettingsManager", b"init")
1393
+ objc.registerNewKeywordsFromSelector(
1394
+ "GCControllerHomeButtonSettingsManager", b"initWithQueue:"
1395
+ )
1325
1396
  objc.registerNewKeywordsFromSelector("GCDeviceBattery", b"init")
1326
- objc.registerNewKeywordsFromSelector("GCDeviceHaptics", b"init")
1327
1397
  objc.registerNewKeywordsFromSelector("GCDeviceLight", b"init")
1398
+ objc.registerNewKeywordsFromSelector("GCDeviceType", b"init")
1328
1399
  objc.registerNewKeywordsFromSelector(
1329
1400
  "GCExtendedGamepadSnapshot", b"initWithController:snapshotData:"
1330
1401
  )
@@ -1343,7 +1414,33 @@ objc.registerNewKeywordsFromSelector("GCPhysicalInputElementCollection", b"init"
1343
1414
  objc.registerNewKeywordsFromSelector("GCRacingWheel", b"init")
1344
1415
  objc.registerNewKeywordsFromSelector("GCSteeringWheelElement", b"init")
1345
1416
 
1417
+ objc.registerNewKeywords("GCDeviceType", ("identifier",), "deviceTypeWithIdentifier_")
1346
1418
  objc.registerNewKeywords("NSValue", ("GCPoint2",), "valueWithGCPoint2_")
1347
1419
  expressions = {}
1420
+ formal_protocols = {
1421
+ "GCAxis2DInput": "GCAxis2DInput",
1422
+ "GCAxisElement": "GCAxisElement",
1423
+ "GCAxisElementName": "GCAxisElementName",
1424
+ "GCAxisInput": "GCAxisInput",
1425
+ "GCButtonElement": "GCButtonElement",
1426
+ "GCButtonElementName": "GCButtonElementName",
1427
+ "GCDevice": "GCDevice",
1428
+ "GCDevicePhysicalInput": "GCDevicePhysicalInput",
1429
+ "GCDevicePhysicalInputState": "GCDevicePhysicalInputState",
1430
+ "GCDevicePhysicalInputStateDiff": "GCDevicePhysicalInputStateDiff",
1431
+ "GCDirectionPadElement": "GCDirectionPadElement",
1432
+ "GCDirectionPadElementName": "GCDirectionPadElementName",
1433
+ "GCLinearInput": "GCLinearInput",
1434
+ "GCPhysicalInputElement": "GCPhysicalInputElement",
1435
+ "GCPhysicalInputElementName": "GCPhysicalInputElementName",
1436
+ "GCPhysicalInputExtents": "GCPhysicalInputExtents",
1437
+ "GCPhysicalInputSource": "GCPhysicalInputSource",
1438
+ "GCPressedStateInput": "GCPressedStateInput",
1439
+ "GCRelativeInput": "GCRelativeInput",
1440
+ "GCSwitchElement": "GCSwitchElement",
1441
+ "GCSwitchElementName": "GCSwitchElementName",
1442
+ "GCSwitchPositionInput": "GCSwitchPositionInput",
1443
+ "GCTouchedStateInput": "GCTouchedStateInput",
1444
+ }
1348
1445
 
1349
1446
  # END OF FILE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-GameController
3
- Version: 12.2.1
3
+ Version: 13.0
4
4
  Summary: Wrappers for the framework GameController on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,21 +17,21 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
23
22
  Classifier: Programming Language :: Python :: 3.13
24
23
  Classifier: Programming Language :: Python :: 3.14
25
24
  Classifier: Programming Language :: Python :: 3.15
25
+ Classifier: Programming Language :: Python :: 3.16
26
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
27
27
  Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
28
28
  Classifier: Programming Language :: Objective C
29
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
30
  Classifier: Topic :: Software Development :: User Interfaces
31
- Requires-Python: >=3.10
31
+ Requires-Python: >=3.11
32
32
  Description-Content-Type: text/x-rst; charset=UTF-8
33
- Requires-Dist: pyobjc-core>=12.2.1
34
- Requires-Dist: pyobjc-framework-Cocoa>=12.2.1
33
+ Requires-Dist: pyobjc-core>=13.0
34
+ Requires-Dist: pyobjc-framework-Cocoa>=13.0
35
35
  Dynamic: author
36
36
  Dynamic: author-email
37
37
  Dynamic: classifier
@@ -27,6 +27,7 @@ PyObjCTest/test_gccontrolleraxisinput.py
27
27
  PyObjCTest/test_gccontrollerbuttoninput.py
28
28
  PyObjCTest/test_gccontrollerdirectionpad.py
29
29
  PyObjCTest/test_gccontrollerelement.py
30
+ PyObjCTest/test_gccontrollerhomebuttonsettingsmanager.py
30
31
  PyObjCTest/test_gccontrollertouchpad.py
31
32
  PyObjCTest/test_gcdevice.py
32
33
  PyObjCTest/test_gcdevicebattery.py
@@ -60,6 +61,7 @@ PyObjCTest/test_gcpressedstateinput.py
60
61
  PyObjCTest/test_gcproductcategories.py
61
62
  PyObjCTest/test_gcracingwheel.py
62
63
  PyObjCTest/test_gcrelativeinput.py
64
+ PyObjCTest/test_gcspatialaccessory.py
63
65
  PyObjCTest/test_gcstylus.py
64
66
  PyObjCTest/test_gcswitchelement.py
65
67
  PyObjCTest/test_gcswitchpositioninput.py
@@ -67,5 +69,5 @@ PyObjCTest/test_gcsyntheticdevicekeys.py
67
69
  PyObjCTest/test_gctouchedstateinput.py
68
70
  metadata/GameController.fwinfo
69
71
  metadata/metadata.ini
70
- metadata/raw/arm64-26.5.fwinfo
71
- metadata/raw/x86_64-26.5.fwinfo
72
+ metadata/raw/arm64-27.fwinfo
73
+ metadata/raw/x86_64-27.fwinfo
@@ -0,0 +1,3 @@
1
+ macOS 27.2 (26B123)
2
+ Apple clang version 21.0.0 (clang-2100.4.1.1)
3
+ SDK: macOS 27.2
@@ -0,0 +1,2 @@
1
+ pyobjc-core>=13.0
2
+ pyobjc-framework-Cocoa>=13.0
@@ -2,6 +2,10 @@
2
2
  #include "Python.h"
3
3
  #include "pyobjc-api.h"
4
4
 
5
+ #ifdef USE_STATIC_ANALYZER
6
+ #include "../../pyobjc-core/Modules/objc/python-api-used.h"
7
+ #endif
8
+
5
9
  #import <Foundation/Foundation.h>
6
10
  #import <GameController/GameController.h>
7
11
 
@@ -10,6 +14,8 @@
10
14
  */
11
15
  #include "_GameController_protocols.m"
12
16
 
17
+ NS_ASSUME_NONNULL_BEGIN
18
+
13
19
  static PyMethodDef mod_methods[] = {
14
20
  {0, 0, 0, 0} /* sentinel */
15
21
  };
@@ -55,10 +61,11 @@ static struct PyModuleDef mod_module = {
55
61
  .m_free = NULL,
56
62
  };
57
63
 
58
- PyObject* PyInit__GameController(void);
64
+ PyObject* _Nullable PyInit__GameController(void);
59
65
 
60
- PyObject* __attribute__((__visibility__("default")))
66
+ PyObject* _Nullable __attribute__((__visibility__("default")))
61
67
  PyInit__GameController(void)
62
68
  {
63
69
  return PyModuleDef_Init(&mod_module);
64
70
  }
71
+ NS_ASSUME_NONNULL_END
@@ -1,9 +1,7 @@
1
- /*
2
- * This file is generated by objective.metadata
3
- *
4
- * Last update: Wed Jan 16 13:10:52 2013
5
- */
6
-
1
+ // LCOV_EXCL_START
2
+ // This function is only present to ensure protocols are
3
+ // available at runtime.
4
+ NS_ASSUME_NONNULL_BEGIN
7
5
  static void __attribute__((__used__))
8
6
  use_protocols(void)
9
7
  {
@@ -58,3 +56,5 @@ use_protocols(void)
58
56
  Py_XDECREF(p);
59
57
  #endif
60
58
  }
59
+ NS_ASSUME_NONNULL_END
60
+ // LCOV_EXCL_STOP
@@ -60,6 +60,11 @@ typedef int(RegisterMethodMappingFunctionType)(
60
60
  PyObject* _Nonnull const* _Nonnull, size_t),
61
61
  IMP _Nullable (*_Nonnull)(PyObject* _Nonnull, PyObject* _Nonnull));
62
62
 
63
+ #ifndef PyObjC_FUNCTION_CALL_H
64
+ typedef PyObject* _Nullable (*PyObjC_FunctionCallFunc)(
65
+ PyObject* meth, PyObject* _Nonnull const* _Nonnull args, size_t nargs);
66
+ #endif
67
+
63
68
  struct pyobjc_api {
64
69
  int api_version; /* API version */
65
70
  size_t struct_len; /* Length of this struct */
@@ -117,6 +122,9 @@ struct pyobjc_api {
117
122
 
118
123
  PyObject* _Nullable (*_Nonnull createopaquepointertype)(const char*, const char*,
119
124
  const char*);
125
+ int (*_Nonnull register_functioncaller)(void*, PyObjC_FunctionCallFunc);
126
+ PyObject* _Nullable (*_Nonnull create_registered_struct)(
127
+ const char*, Py_ssize_t, const char* _Nonnull* _Nullable, Py_ssize_t*);
120
128
  };
121
129
 
122
130
  #ifndef PYOBJC_BUILD
@@ -159,6 +167,8 @@ static struct pyobjc_api* PyObjC_API;
159
167
  #define PyObjC_CheckArgCount (PyObjC_API->checkargcount)
160
168
  #define PyObjC_CheckNoKwnames (PyObjC_API->checknokwnames)
161
169
  #define PyObjCCreateOpaquePointerType (PyObjC_API->createopaquepointertype)
170
+ #define PyObjCRegister_FunctionCaller (PyObjC_API->register_functioncaller)
171
+ #define PyObjC_CreateRegisteredStruct (PyObjC_API->create_registered_struct)
162
172
 
163
173
  typedef void (*PyObjC_Function_Pointer)(void);
164
174
  typedef struct PyObjC_function_map {
@@ -178,21 +188,25 @@ static inline int
178
188
  PyObjC_ImportAPI(PyObject* calling_module)
179
189
  {
180
190
  PyObjC_API = (struct pyobjc_api*)PyCapsule_Import("objc." PYOBJC_API_NAME, 0);
181
- if (PyObjC_API == NULL) {
182
- return -1;
191
+ if (PyObjC_API == NULL) { // LCOV_BR_EXCL_LINE
192
+ return -1; // LCOV_EXCL_LINE
183
193
  }
184
- if (PyObjC_API->api_version != PYOBJC_API_VERSION) {
194
+ if (PyObjC_API->api_version != PYOBJC_API_VERSION) { // LCOV_BR_EXCL_LINE
195
+ // LCOV_EXCL_START
185
196
  PyErr_Format(PyExc_RuntimeError,
186
197
  "Wrong version of PyObjC C API (got %d, expected %d)",
187
198
  (int)PyObjC_API->api_version, (int)PYOBJC_API_VERSION);
188
199
  return -1;
200
+ // LCOV_EXCL_STOP
189
201
  }
190
202
 
191
- if (PyObjC_API->struct_len < PyObjC_EXPECTED_STRUCT_SIZE) {
203
+ if (PyObjC_API->struct_len < PyObjC_EXPECTED_STRUCT_SIZE) { // LCOV_EXCL_LINE
204
+ // LCOV_EXCL_START
192
205
  PyErr_Format(PyExc_RuntimeError,
193
206
  "Wrong struct-size of PyObjC C API (got %d, expected %d)",
194
207
  (int)PyObjC_API->struct_len, (int)sizeof(struct pyobjc_api));
195
208
  return -1;
209
+ // LCOV_EXCL_STOP
196
210
  }
197
211
 
198
212
  /* Current pyobjc implementation doesn't allow deregistering
@@ -167,24 +167,6 @@ _PyObjCTuple_GetItem(PyObject* tuple, Py_ssize_t idx)
167
167
  PyGILState_Release(_GILState); \
168
168
  } while (0)
169
169
 
170
- #if PY_VERSION_HEX < 0x030a0000
171
-
172
- static inline PyObject*
173
- Py_NewRef(PyObject* o)
174
- {
175
- Py_INCREF(o);
176
- return o;
177
- }
178
-
179
- static inline PyObject*
180
- Py_XNewRef(PyObject* o)
181
- {
182
- Py_XINCREF(o);
183
- return o;
184
- }
185
-
186
- #endif /* PY_VERSION_HEX < 0x030a0000 */
187
-
188
170
  #if PY_VERSION_HEX < 0x030d0000
189
171
  #define Py_BEGIN_CRITICAL_SECTION(value) \
190
172
  { \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-GameController
3
- Version: 12.2.1
3
+ Version: 13.0
4
4
  Summary: Wrappers for the framework GameController on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,21 +17,21 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.10
21
20
  Classifier: Programming Language :: Python :: 3.11
22
21
  Classifier: Programming Language :: Python :: 3.12
23
22
  Classifier: Programming Language :: Python :: 3.13
24
23
  Classifier: Programming Language :: Python :: 3.14
25
24
  Classifier: Programming Language :: Python :: 3.15
25
+ Classifier: Programming Language :: Python :: 3.16
26
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
27
27
  Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
28
28
  Classifier: Programming Language :: Objective C
29
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
30
  Classifier: Topic :: Software Development :: User Interfaces
31
- Requires-Python: >=3.10
31
+ Requires-Python: >=3.11
32
32
  Description-Content-Type: text/x-rst; charset=UTF-8
33
- Requires-Dist: pyobjc-core>=12.2.1
34
- Requires-Dist: pyobjc-framework-Cocoa>=12.2.1
33
+ Requires-Dist: pyobjc-core>=13.0
34
+ Requires-Dist: pyobjc-framework-Cocoa>=13.0
35
35
  Dynamic: author
36
36
  Dynamic: author-email
37
37
  Dynamic: classifier
@@ -1,16 +1,14 @@
1
- from PyObjCTools.TestSupport import TestCase, min_os_level
1
+ from PyObjCTools.TestSupport import TestCase
2
2
  import objc
3
3
 
4
4
  import GameController
5
5
 
6
6
 
7
7
  class TestGCGamePad(TestCase):
8
- @min_os_level("10.9")
9
- def testClasses(self):
8
+ def test_classes(self):
10
9
  self.assertIsInstance(GameController.GCGamepad, objc.objc_class)
11
10
 
12
- @min_os_level("10.9")
13
- def testMethods(self):
11
+ def test_methods(self):
14
12
  self.assertResultIsBlock(GameController.GCGamepad.valueChangedHandler, b"v@@")
15
13
  self.assertArgIsBlock(
16
14
  GameController.GCGamepad.setValueChangedHandler_, 0, b"v@@"
@@ -8,4 +8,4 @@ import GameController # noqa: F401
8
8
  class TestGCAxisElement(TestCase):
9
9
  @min_sdk_level("13.0")
10
10
  def test_protocols(self):
11
- self.assertProtocolExists("GCAxisElement")
11
+ self.assertProtocolExists("GCAxisElement", GameController)
@@ -1,7 +1,6 @@
1
1
  from PyObjCTools.TestSupport import (
2
2
  TestCase,
3
3
  min_sdk_level,
4
- expectedFailure,
5
4
  )
6
5
  import GameController
7
6
 
@@ -32,9 +31,8 @@ class TestGCAxisInputHelper(GameController.NSObject):
32
31
  class TestGCAxisInput(TestCase):
33
32
  @min_sdk_level("13.0")
34
33
  def test_protocols(self):
35
- self.assertProtocolExists("GCAxisInput")
34
+ self.assertProtocolExists("GCAxisInput", GameController)
36
35
 
37
- @expectedFailure # 'value' method is requires explicit protocol definition.
38
36
  def test_protocol_methods(self):
39
37
  self.assertResultIsBlock(TestGCAxisInputHelper.valueDidChangeHandler, b"v@@f")
40
38
 
@@ -8,4 +8,4 @@ import GameController # noqa: F401
8
8
  class TestGCButtonElement(TestCase):
9
9
  @min_sdk_level("13.0")
10
10
  def test_protocols(self):
11
- self.assertProtocolExists("GCButtonElement")
11
+ self.assertProtocolExists("GCButtonElement", GameController)
@@ -4,15 +4,33 @@ import GameController
4
4
 
5
5
 
6
6
  class TestGCController(TestCase):
7
- def test_enum_types(self):
7
+ def test_enums(self):
8
8
  self.assertIsEnumType(GameController.GCControllerPlayerIndex)
9
+ self.assertEqual(GameController.GCControllerPlayerIndexUnset, -1)
10
+
11
+ def test_constants(self):
12
+ self.assertIsInstance(GameController.GCControllerDidConnectNotification, str)
13
+ self.assertIsInstance(GameController.GCControllerDidDisconnectNotification, str)
14
+
15
+ @min_os_level("11.0")
16
+ def test_constants11_0(self):
17
+ self.assertIsInstance(
18
+ GameController.GCControllerDidBecomeCurrentNotification, str
19
+ )
20
+ self.assertIsInstance(
21
+ GameController.GCControllerDidStopBeingCurrentNotification, str
22
+ )
23
+
24
+ @min_os_level("13.0")
25
+ def test_constants13_0(self):
26
+ self.assertIsInstance(
27
+ GameController.GCControllerUserCustomizationsDidChangeNotification, str
28
+ )
9
29
 
10
- @min_os_level("10.9")
11
- def testClasses(self):
30
+ def test_classes(self):
12
31
  self.assertIsInstance(GameController.GCController, objc.objc_class)
13
32
 
14
- @min_os_level("10.9")
15
- def testMethods(self):
33
+ def test_methods(self):
16
34
  self.assertResultIsBlock(
17
35
  GameController.GCController.controllerPausedHandler, b"v@"
18
36
  )
@@ -30,7 +48,7 @@ class TestGCController(TestCase):
30
48
  )
31
49
 
32
50
  @min_os_level("10.12")
33
- def testMethods10_11(self):
51
+ def test_methods10_12(self):
34
52
  self.assertResultIsBOOL(
35
53
  GameController.GCEventViewController.controllerUserInteractionEnabled
36
54
  )
@@ -39,39 +57,18 @@ class TestGCController(TestCase):
39
57
  )
40
58
 
41
59
  @min_os_level("10.15")
42
- def testMethods10_15(self):
60
+ def test_methods10_15(self):
43
61
  self.assertResultIsBOOL(GameController.GCController.isSnapshot)
44
62
 
45
63
  @min_os_level("11.0")
46
- def testMethods11_0(self):
64
+ def test_methods11_0(self):
47
65
  self.assertResultIsBOOL(GameController.GCController.supportsHIDDevice_)
48
66
 
49
67
  @min_os_level("11.3")
50
- def testMethods11_3(self):
68
+ def test_methods11_3(self):
51
69
  self.assertResultIsBOOL(
52
70
  GameController.GCController.shouldMonitorBackgroundEvents
53
71
  )
54
72
  self.assertArgIsBOOL(
55
73
  GameController.GCController.setShouldMonitorBackgroundEvents_, 0
56
74
  )
57
-
58
- @min_os_level("10.9")
59
- def test_constants(self):
60
- self.assertIsInstance(GameController.GCControllerDidConnectNotification, str)
61
- self.assertIsInstance(GameController.GCControllerDidDisconnectNotification, str)
62
- self.assertEqual(GameController.GCControllerPlayerIndexUnset, -1)
63
-
64
- @min_os_level("11.0")
65
- def test_constants11_0(self):
66
- self.assertIsInstance(
67
- GameController.GCControllerDidBecomeCurrentNotification, str
68
- )
69
- self.assertIsInstance(
70
- GameController.GCControllerDidStopBeingCurrentNotification, str
71
- )
72
-
73
- @min_os_level("13.0")
74
- def test_constants13_0(self):
75
- self.assertIsInstance(
76
- GameController.GCControllerUserCustomizationsDidChangeNotification, str
77
- )
@@ -1,15 +1,13 @@
1
- from PyObjCTools.TestSupport import TestCase, min_os_level
1
+ from PyObjCTools.TestSupport import TestCase
2
2
  import objc
3
3
  import GameController
4
4
 
5
5
 
6
6
  class TestGCControllerAxisInput(TestCase):
7
- @min_os_level("10.9")
8
- def testClasses(self):
7
+ def test_classes(self):
9
8
  self.assertIsInstance(GameController.GCControllerAxisInput, objc.objc_class)
10
9
 
11
- @min_os_level("10.9")
12
- def testMethods(self):
10
+ def test_methods(self):
13
11
  self.assertResultIsBlock(
14
12
  GameController.GCControllerAxisInput.valueChangedHandler, b"v@f"
15
13
  )