SFML - Simple and Fast Multimedia Library

SFML 2.6.2
Loading...
Searching...
No Matches
Joystick.hpp
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_JOYSTICK_HPP
26#define SFML_JOYSTICK_HPP
27
29// Headers
31#include <SFML/Window/Export.hpp>
32#include <SFML/System/String.hpp>
33
34
35namespace sf
36{
41 class SFML_WINDOW_API Joystick
42{
43public:
44
49 enum
50 {
51 Count = 8,
52 ButtonCount = 32,
53 AxisCount = 8
54 };
55
60 enum Axis
61 {
62 X,
63 Y,
64 Z,
65 R,
66 U,
67 V,
68 PovX,
69 PovY
70 };
71
76 struct SFML_WINDOW_API Identification
77 {
78 Identification();
79
80 String name;
81 unsigned int vendorId;
82 unsigned int productId;
83 };
84
93 static bool isConnected(unsigned int joystick);
94
105 static unsigned int getButtonCount(unsigned int joystick);
106
118 static bool hasAxis(unsigned int joystick, Axis axis);
119
131 static bool isButtonPressed(unsigned int joystick, unsigned int button);
132
144 static float getAxisPosition(unsigned int joystick, Axis axis);
145
154 static Identification getIdentification(unsigned int joystick);
155
165 static void update();
166};
167
168} // namespace sf
169
170
171#endif // SFML_JOYSTICK_HPP
172
173
String.hpp
Export.hpp
SFML_WINDOW_API
#define SFML_WINDOW_API
Definition Window/Export.hpp:43
sf::Joystick
Give access to the real-time state of the joysticks.
Definition Joystick.hpp:42
sf::Joystick::hasAxis
static bool hasAxis(unsigned int joystick, Axis axis)
Check if a joystick supports a given axis.
sf::Joystick::ButtonCount
@ ButtonCount
Maximum number of supported buttons.
Definition Joystick.hpp:52
sf::Joystick::Count
@ Count
Maximum number of supported joysticks.
Definition Joystick.hpp:51
sf::Joystick::AxisCount
@ AxisCount
Maximum number of supported axes.
Definition Joystick.hpp:53
sf::Joystick::Axis
Axis
Axes supported by SFML joysticks.
Definition Joystick.hpp:61
sf::Joystick::PovX
@ PovX
The X axis of the point-of-view hat.
Definition Joystick.hpp:68
sf::Joystick::U
@ U
The U axis.
Definition Joystick.hpp:66
sf::Joystick::PovY
@ PovY
The Y axis of the point-of-view hat.
Definition Joystick.hpp:69
sf::Joystick::Y
@ Y
The Y axis.
Definition Joystick.hpp:63
sf::Joystick::Z
@ Z
The Z axis.
Definition Joystick.hpp:64
sf::Joystick::X
@ X
The X axis.
Definition Joystick.hpp:62
sf::Joystick::V
@ V
The V axis.
Definition Joystick.hpp:67
sf::Joystick::R
@ R
The R axis.
Definition Joystick.hpp:65
sf::Joystick::getButtonCount
static unsigned int getButtonCount(unsigned int joystick)
Return the number of buttons supported by a joystick.
sf::Joystick::getIdentification
static Identification getIdentification(unsigned int joystick)
Get the joystick information.
sf::Joystick::update
static void update()
Update the states of all joysticks.
sf::Joystick::isConnected
static bool isConnected(unsigned int joystick)
Check if a joystick is connected.
sf::Joystick::isButtonPressed
static bool isButtonPressed(unsigned int joystick, unsigned int button)
Check if a joystick button is pressed.
sf::Joystick::getAxisPosition
static float getAxisPosition(unsigned int joystick, Axis axis)
Get the current position of a joystick axis.
sf::String
Utility string class that automatically handles conversions between types and encodings.
Definition String.hpp:46
sf
Definition AlResource.hpp:35
sf::Joystick::Identification
Structure holding a joystick's identification.
Definition Joystick.hpp:77
sf::Joystick::Identification::name
String name
Name of the joystick.
Definition Joystick.hpp:80
sf::Joystick::Identification::productId
unsigned int productId
Product identifier.
Definition Joystick.hpp:82
sf::Joystick::Identification::vendorId
unsigned int vendorId
Manufacturer identifier.
Definition Joystick.hpp:81
sf::Joystick::Identification::Identification
Identification()