[+] GLFWAPI const char *glfwGetGamepadName(int jid)
[+] GLFWAPI uint32_t glfwGetGamepadVendorID(int jid) [+] GLFWAPI uint32_t glfwGetGamepadProductID(int jid) [+] GLFWAPI uint32_t glfwGetGamepadProductRev(int jid)
This commit is contained in:
parent
6b2a2675ee
commit
15a7f24fb8
@ -6052,7 +6052,28 @@ GLFWAPI int glfwUpdateGamepadMappings(const char* string);
|
|||||||
*
|
*
|
||||||
* @ingroup input
|
* @ingroup input
|
||||||
*/
|
*/
|
||||||
GLFWAPI const char* glfwGetGamepadName(int jid);
|
GLFWAPI const char *glfwGetGamepadName(int jid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief
|
||||||
|
* @param jid
|
||||||
|
* @return USB vendor-id
|
||||||
|
*/
|
||||||
|
GLFWAPI uint16_t glfwGetGamepadVendorID(int jid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief
|
||||||
|
* @param jid
|
||||||
|
* @return USB product-id
|
||||||
|
*/
|
||||||
|
GLFWAPI uint16_t glfwGetGamepadProductID(int jid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief
|
||||||
|
* @param jid
|
||||||
|
* @return USB product-version
|
||||||
|
*/
|
||||||
|
GLFWAPI uint16_t glfwGetGamepadProductRev(int jid);
|
||||||
|
|
||||||
/*! @brief Retrieves the state of the specified joystick remapped as a gamepad.
|
/*! @brief Retrieves the state of the specified joystick remapped as a gamepad.
|
||||||
*
|
*
|
||||||
|
87
src/input.c
87
src/input.c
@ -1543,6 +1543,90 @@ GLFWAPI const char* glfwGetGamepadName(int jid)
|
|||||||
return js->mapping->name;
|
return js->mapping->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GLFWAPI uint16_t glfwGetGamepadVendorID(int jid)
|
||||||
|
{
|
||||||
|
_GLFWjoystick* js;
|
||||||
|
|
||||||
|
assert(jid >= GLFW_JOYSTICK_1);
|
||||||
|
assert(jid <= GLFW_JOYSTICK_LAST);
|
||||||
|
|
||||||
|
_GLFW_REQUIRE_INIT_OR_RETURN(0);
|
||||||
|
|
||||||
|
if (jid < 0 || jid > GLFW_JOYSTICK_LAST)
|
||||||
|
{
|
||||||
|
_glfwInputError(GLFW_INVALID_ENUM, "Invalid joystick ID %i", jid);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!initJoysticks())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
js = _glfw.joysticks + jid;
|
||||||
|
if (!js->connected)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (!_glfw.platform.pollJoystick(js, _GLFW_POLL_PRESENCE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return js->usbInfo.vendor;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLFWAPI uint16_t glfwGetGamepadProductID(int jid)
|
||||||
|
{
|
||||||
|
_GLFWjoystick* js;
|
||||||
|
|
||||||
|
assert(jid >= GLFW_JOYSTICK_1);
|
||||||
|
assert(jid <= GLFW_JOYSTICK_LAST);
|
||||||
|
|
||||||
|
_GLFW_REQUIRE_INIT_OR_RETURN(0);
|
||||||
|
|
||||||
|
if (jid < 0 || jid > GLFW_JOYSTICK_LAST)
|
||||||
|
{
|
||||||
|
_glfwInputError(GLFW_INVALID_ENUM, "Invalid joystick ID %i", jid);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!initJoysticks())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
js = _glfw.joysticks + jid;
|
||||||
|
if (!js->connected)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (!_glfw.platform.pollJoystick(js, _GLFW_POLL_PRESENCE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return js->usbInfo.product;
|
||||||
|
}
|
||||||
|
|
||||||
|
GLFWAPI uint16_t glfwGetGamepadProductRev(int jid)
|
||||||
|
{
|
||||||
|
_GLFWjoystick* js;
|
||||||
|
|
||||||
|
assert(jid >= GLFW_JOYSTICK_1);
|
||||||
|
assert(jid <= GLFW_JOYSTICK_LAST);
|
||||||
|
|
||||||
|
_GLFW_REQUIRE_INIT_OR_RETURN(0);
|
||||||
|
|
||||||
|
if (jid < 0 || jid > GLFW_JOYSTICK_LAST)
|
||||||
|
{
|
||||||
|
_glfwInputError(GLFW_INVALID_ENUM, "Invalid joystick ID %i", jid);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!initJoysticks())
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
js = _glfw.joysticks + jid;
|
||||||
|
if (!js->connected)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (!_glfw.platform.pollJoystick(js, _GLFW_POLL_PRESENCE))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return js->usbInfo.version;
|
||||||
|
}
|
||||||
|
|
||||||
GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state)
|
GLFWAPI int glfwGetGamepadState(int jid, GLFWgamepadstate* state)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -1674,5 +1758,4 @@ GLFWAPI uint64_t glfwGetTimerFrequency(void)
|
|||||||
{
|
{
|
||||||
_GLFW_REQUIRE_INIT_OR_RETURN(0);
|
_GLFW_REQUIRE_INIT_OR_RETURN(0);
|
||||||
return _glfwPlatformGetTimerFrequency();
|
return _glfwPlatformGetTimerFrequency();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user