bool ControllerGamepadEnumerator::next()
{
	bool foundValid = false;

	while (m_controllerIndex < static_cast<int>(Gamepad_numDevices()) && !foundValid)
	{
		++m_controllerIndex;

		if (m_controllerIndex < static_cast<int>(Gamepad_numDevices()) && 
			is_gamepad_supported(m_controllerIndex, m_deviceTypeFilter, m_deviceType))
		{
			ServerUtility::format_string(m_currentUSBPath, sizeof(m_currentUSBPath), "gamepad_%d", m_controllerIndex);		
			foundValid = true;
		}
	}

	return foundValid;
}
Exemplo n.º 2
0
/*
 * Class:     org_gamepad4j_desktop_GamepadJniWrapper
 * Method:    natGetNumberOfPads
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_org_gamepad4j_desktop_GamepadJniWrapper_natGetNumberOfPads(
		JNIEnv *env, jobject obj) {
	return Gamepad_numDevices();
}
bool ControllerGamepadEnumerator::is_valid() const
{
	return m_controllerIndex < static_cast<int>(Gamepad_numDevices());
}