| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1166,6 +1166,17 @@ bool IsGamepadAvailable(int gamepad) | 
															
														
														
													
														
															
																 | 
																 | 
																    return result; | 
																 | 
																 | 
																    return result; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																// Return gamepad internal name id | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																const char *GetGamepadName(int gamepad) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#if defined(PLATFORM_DESKTOP) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (glfwJoystickPresent(gamepad) == 1) return glfwGetJoystickName(gamepad); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else return NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    return NULL; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																// Return axis movement vector for a gamepad | 
																 | 
																 | 
																// Return axis movement vector for a gamepad | 
															
														
														
													
														
															
																 | 
																 | 
																float GetGamepadAxisMovement(int gamepad, int axis) | 
																 | 
																 | 
																float GetGamepadAxisMovement(int gamepad, int axis) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1192,7 +1203,11 @@ float GetGamepadAxisMovement(int gamepad, int axis) | 
															
														
														
													
														
															
																 | 
																 | 
																bool IsGamepadButtonPressed(int gamepad, int button) | 
																 | 
																 | 
																bool IsGamepadButtonPressed(int gamepad, int button) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																    bool pressed = false; | 
																 | 
																 | 
																    bool pressed = false; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if ((currentGamepadState[button] != previousGamepadState[button]) && (currentGamepadState[button] == 1)) pressed = true; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else pressed = false; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    /* | 
															
														
														
													
														
															
																 | 
																 | 
																    currentGamepadState[button] = IsGamepadButtonDown(gamepad, button); | 
																 | 
																 | 
																    currentGamepadState[button] = IsGamepadButtonDown(gamepad, button); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if (currentGamepadState[button] != previousGamepadState[button]) | 
																 | 
																 | 
																    if (currentGamepadState[button] != previousGamepadState[button]) | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1201,6 +1216,7 @@ bool IsGamepadButtonPressed(int gamepad, int button) | 
															
														
														
													
														
															
																 | 
																 | 
																        previousGamepadState[button] = currentGamepadState[button]; | 
																 | 
																 | 
																        previousGamepadState[button] = currentGamepadState[button]; | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																    else pressed = false; | 
																 | 
																 | 
																    else pressed = false; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    */ | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    return pressed; | 
																 | 
																 | 
																    return pressed; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1222,6 +1238,8 @@ bool IsGamepadButtonDown(int gamepad, int button) | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    if ((buttons != NULL) && (buttons[button] == GLFW_PRESS)) result = true; | 
																 | 
																 | 
																    if ((buttons != NULL) && (buttons[button] == GLFW_PRESS)) result = true; | 
															
														
														
													
														
															
																 | 
																 | 
																    else result = false; | 
																 | 
																 | 
																    else result = false; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    //result = currentGamepadState[button]; | 
															
														
														
													
														
															
																 | 
																 | 
																#endif | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    return result; | 
																 | 
																 | 
																    return result; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -1233,14 +1251,19 @@ bool IsGamepadButtonReleased(int gamepad, int button) | 
															
														
														
													
														
															
																 | 
																 | 
																    bool released = false; | 
																 | 
																 | 
																    bool released = false; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    currentGamepadState[button] = IsGamepadButtonUp(gamepad, button); | 
																 | 
																 | 
																    currentGamepadState[button] = IsGamepadButtonUp(gamepad, button); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if ((currentGamepadState[button] != previousGamepadState[button]) && (currentGamepadState[button] == 0)) released = true; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else released = false; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    /* | 
															
														
														
													
														
															
																 | 
																 | 
																    if (currentGamepadState[button] != previousGamepadState[button]) | 
																 | 
																 | 
																    if (currentGamepadState[button] != previousGamepadState[button]) | 
															
														
														
													
														
															
																 | 
																 | 
																    { | 
																 | 
																 | 
																    { | 
															
														
														
													
														
															
																 | 
																 | 
																        if (currentGamepadState[button]) released = true; | 
																 | 
																 | 
																        if (currentGamepadState[button]) released = true; | 
															
														
														
													
														
															
																 | 
																 | 
																        previousGamepadState[button] = currentGamepadState[button]; | 
																 | 
																 | 
																        previousGamepadState[button] = currentGamepadState[button]; | 
															
														
														
													
														
															
																 | 
																 | 
																    } | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																    else released = false; | 
																 | 
																 | 
																    else released = false; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     | 
															
														
														
													
														
															
																 | 
																 | 
																    return released; | 
																 | 
																 | 
																    return released; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1984,8 +2007,26 @@ static void PollInputEvents(void) | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    previousMouseWheelY = currentMouseWheelY; | 
																 | 
																 | 
																    previousMouseWheelY = currentMouseWheelY; | 
															
														
														
													
														
															
																 | 
																 | 
																    currentMouseWheelY = 0; | 
																 | 
																 | 
																    currentMouseWheelY = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    // Register previous gamepad states | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    for (int i = 0; i < 32; i++) previousGamepadState[i] = currentGamepadState[i]; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																     | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    // Get current gamepad state (no callback) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    if (glfwJoystickPresent(GAMEPAD_PLAYER1)) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        const unsigned char *buttons; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        int buttonsCount; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        buttons = glfwGetJoystickButtons(GAMEPAD_PLAYER1, &buttonsCount); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																         | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        for (int i = 0; (buttons != NULL) && (buttonsCount < 32) && (i < buttonsCount); i++) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            if (buttons[i] == GLFW_PRESS) currentGamepadState[i] = true; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																            else currentGamepadState[i] = false; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        } | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    } | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																    glfwPollEvents();       // Register keyboard/mouse events... and window events! | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    glfwPollEvents();       // Register keyboard/mouse events (callbacks)... and window events! | 
															
														
														
													
														
															
																 | 
																 | 
																#endif | 
																 | 
																 | 
																#endif | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																#if defined(PLATFORM_ANDROID) | 
																 | 
																 | 
																#if defined(PLATFORM_ANDROID) | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
 |