mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-27 13:36:12 +01:00
Merge pull request #59 from zsbzsb/feature/joystick_identification
Added support for joystick identification
This commit is contained in:
commit
a7ff14c407
4 files changed
+76
No files matched your search
@@ -29,6 +29,7 @@
|
|||||||
// Headers
|
// Headers
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
#include <SFML/Window/Export.h>
|
#include <SFML/Window/Export.h>
|
||||||
|
#include <SFML/Window/JoystickIdentification.h>
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
@@ -121,6 +122,19 @@ CSFML_WINDOW_API sfBool sfJoystick_isButtonPressed(unsigned int joystick, unsign
|
|||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
CSFML_WINDOW_API float sfJoystick_getAxisPosition(unsigned int joystick, sfJoystickAxis axis);
|
CSFML_WINDOW_API float sfJoystick_getAxisPosition(unsigned int joystick, sfJoystickAxis axis);
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Get the joystick information
|
||||||
|
///
|
||||||
|
/// The result of this function will only remain valid until
|
||||||
|
/// the next time the function is called.
|
||||||
|
///
|
||||||
|
/// \param joystick Index of the joystick
|
||||||
|
///
|
||||||
|
/// \return Structure containing joystick information.
|
||||||
|
///
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
CSFML_WINDOW_API sfJoystickIdentification sfJoystick_getIdentification(unsigned int joystick);
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
/// \brief Update the states of all joysticks
|
/// \brief Update the states of all joysticks
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// SFML - Simple and Fast Multimedia Library
|
||||||
|
// Copyright (C) 2007-2014 Laurent Gomila (laurent.gom@gmail.com)
|
||||||
|
//
|
||||||
|
// This software is provided 'as-is', without any express or implied warranty.
|
||||||
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
//
|
||||||
|
// Permission is granted to anyone to use this software for any purpose,
|
||||||
|
// including commercial applications, and to alter it and redistribute it freely,
|
||||||
|
// subject to the following restrictions:
|
||||||
|
//
|
||||||
|
// 1. The origin of this software must not be misrepresented;
|
||||||
|
// you must not claim that you wrote the original software.
|
||||||
|
// If you use this software in a product, an acknowledgment
|
||||||
|
// in the product documentation would be appreciated but is not required.
|
||||||
|
//
|
||||||
|
// 2. Altered source versions must be plainly marked as such,
|
||||||
|
// and must not be misrepresented as being the original software.
|
||||||
|
//
|
||||||
|
// 3. This notice may not be removed or altered from any source distribution.
|
||||||
|
//
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef SFML_JOYSTICKIDENDIFICATION_H
|
||||||
|
#define SFML_JOYSTICKIDENDIFICATION_H
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
// Headers
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
#include <SFML/Window/Export.h>
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
/// sfJoystickIdentification holds a joystick's identification
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
const char* name;
|
||||||
|
unsigned int vendorId;
|
||||||
|
unsigned int productId;
|
||||||
|
} sfJoystickIdentification;
|
||||||
|
|
||||||
|
|
||||||
|
#endif // SFML_JOYSTICKIDENDIFICATION_H
|
||||||
@@ -11,6 +11,7 @@ set(SRC
|
|||||||
${INCROOT}/Event.h
|
${INCROOT}/Event.h
|
||||||
${SRCROOT}/Joystick.cpp
|
${SRCROOT}/Joystick.cpp
|
||||||
${INCROOT}/Joystick.h
|
${INCROOT}/Joystick.h
|
||||||
|
${INCROOT}/JoystickIdentification.h
|
||||||
${SRCROOT}/Keyboard.cpp
|
${SRCROOT}/Keyboard.cpp
|
||||||
${INCROOT}/Keyboard.h
|
${INCROOT}/Keyboard.h
|
||||||
${SRCROOT}/Mouse.cpp
|
${SRCROOT}/Mouse.cpp
|
||||||
|
|||||||
@@ -64,6 +64,22 @@ float sfJoystick_getAxisPosition(unsigned int joystick, sfJoystickAxis axis)
|
|||||||
return sf::Joystick::getAxisPosition(joystick, static_cast<sf::Joystick::Axis>(axis));
|
return sf::Joystick::getAxisPosition(joystick, static_cast<sf::Joystick::Axis>(axis));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////
|
||||||
|
sfJoystickIdentification sfJoystick_getIdentification(unsigned int joystick)
|
||||||
|
{
|
||||||
|
static std::string name;
|
||||||
|
|
||||||
|
sf::Joystick::Identification identification = sf::Joystick::getIdentification(joystick);
|
||||||
|
name = identification.name;
|
||||||
|
|
||||||
|
sfJoystickIdentification result;
|
||||||
|
|
||||||
|
result.name = name.c_str();
|
||||||
|
result.productId = identification.productId;
|
||||||
|
result.vendorId = identification.vendorId;
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
void sfJoystick_update(void)
|
void sfJoystick_update(void)
|
||||||
|
|||||||
Reference in new issue
Block a user