From 8962f2e5898890c5757d55fb103aa16b240ef90b Mon Sep 17 00:00:00 2001
From: Tobias Frisch <tfrisch@uni-koblenz.de>
Date: Thu, 24 Jun 2021 16:19:23 +0200
Subject: [PATCH] [#60] Added support for multiple joysticks

Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de>
---
 src/vkcv/Window.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/vkcv/Window.cpp b/src/vkcv/Window.cpp
index d2ba366c..03a58a23 100644
--- a/src/vkcv/Window.cpp
+++ b/src/vkcv/Window.cpp
@@ -81,7 +81,12 @@ namespace vkcv {
     	}
 
         glfwPollEvents();
-        onGamepadEvent(GLFW_JOYSTICK_1);
+    	
+    	for (int gamepadIndex = GLFW_JOYSTICK_1; gamepadIndex <= GLFW_JOYSTICK_LAST; gamepadIndex++) {
+    		if (glfwJoystickPresent(gamepadIndex)) {
+				onGamepadEvent(gamepadIndex);
+			}
+		}
 	
 		for (auto glfwWindow : s_Windows) {
 			auto window = static_cast<Window *>(glfwGetWindowUserPointer(glfwWindow));
@@ -152,7 +157,7 @@ namespace vkcv {
         activeWindowIndex *= (activeWindowIndex < s_Windows.size());    // fixes index getting out of bounds (e.g. if there is no focused window)
         auto window = static_cast<Window *>(glfwGetWindowUserPointer(s_Windows[activeWindowIndex]));
 
-        if (window != nullptr && glfwJoystickPresent(gamepadIndex)) {
+        if (window != nullptr) {
             window->e_gamepad(gamepadIndex);
         }
     }
-- 
GitLab