Browse Source

fix: use productCategory instead of vendorName for joy name on macos

sora 4 months ago
parent
commit
abaaa87a47
1 changed files with 7 additions and 1 deletions
  1. 7 1
      drivers/apple/joypad_apple.mm

+ 7 - 1
drivers/apple/joypad_apple.mm

@@ -503,7 +503,13 @@ void JoypadApple::add_joypad(GCController *p_controller) {
 	}
 	}
 
 
 	// Tell Godot about our new controller.
 	// Tell Godot about our new controller.
-	Input::get_singleton()->joy_connection_changed(joy_id, true, String::utf8(p_controller.vendorName.UTF8String));
+	char const *device_name;
+	if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, *)) {
+		device_name = p_controller.productCategory.UTF8String;
+	} else {
+		device_name = p_controller.vendorName.UTF8String;
+	}
+	Input::get_singleton()->joy_connection_changed(joy_id, true, String::utf8(device_name));
 
 
 	// Assign our player index.
 	// Assign our player index.
 	joypads.insert(joy_id, memnew(GameController(joy_id, p_controller)));
 	joypads.insert(joy_id, memnew(GameController(joy_id, p_controller)));