SFML 2.4.2
Joystick.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2017 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
35 namespace sf
36 {
41 class SFML_WINDOW_API Joystick
42 {
43 public:
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
sf::Joystick::Y
The Y axis.
Definition: Joystick.hpp:63
sf::Joystick::PovX
The X axis of the point-of-view hat.
Definition: Joystick.hpp:68
sf::Joystick
Give access to the real-time state of the joysticks.
Definition: Joystick.hpp:41
sf::Joystick::Axis
Axis
Axes supported by SFML joysticks.
Definition: Joystick.hpp:60
sf::Joystick::Identification::productId
unsigned int productId
Product identifier.
Definition: Joystick.hpp:82
sf::Joystick::Identification
Structure holding a joystick&#39;s identification.
Definition: Joystick.hpp:76
sf::Joystick::X
The X axis.
Definition: Joystick.hpp:62
sf::Joystick::R
The R axis.
Definition: Joystick.hpp:65
sf::Joystick::Identification::vendorId
unsigned int vendorId
Manufacturer identifier.
Definition: Joystick.hpp:81
sf::Joystick::U
The U axis.
Definition: Joystick.hpp:66
sf::Joystick::Identification::name
String name
Name of the joystick.
Definition: Joystick.hpp:80
sf
Definition: AlResource.hpp:34
sf::Joystick::V
The V axis.
Definition: Joystick.hpp:67
sf::String
Utility string class that automatically handles conversions between types and encodings.
Definition: String.hpp:45
sf::Joystick::Z
The Z axis.
Definition: Joystick.hpp:64