Documentation of SFML 2.6.1

Loading...
Searching...
No Matches
Joystick.hpp
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{
41class 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,
69 PovY
70 };
71
76 struct SFML_WINDOW_API Identification
77 {
79
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
Give access to the real-time state of the joysticks.
Definition Joystick.hpp:42
static bool hasAxis(unsigned int joystick, Axis axis)
Check if a joystick supports a given axis.
Axis
Axes supported by SFML joysticks.
Definition Joystick.hpp:61
@ PovX
The X axis of the point-of-view hat.
Definition Joystick.hpp:68
@ U
The U axis.
Definition Joystick.hpp:66
@ Y
The Y axis.
Definition Joystick.hpp:63
@ Z
The Z axis.
Definition Joystick.hpp:64
@ X
The X axis.
Definition Joystick.hpp:62
@ V
The V axis.
Definition Joystick.hpp:67
@ R
The R axis.
Definition Joystick.hpp:65
static unsigned int getButtonCount(unsigned int joystick)
Return the number of buttons supported by a joystick.
static Identification getIdentification(unsigned int joystick)
Get the joystick information.
static void update()
Update the states of all joysticks.
static bool isConnected(unsigned int joystick)
Check if a joystick is connected.
static bool isButtonPressed(unsigned int joystick, unsigned int button)
Check if a joystick button is pressed.
static float getAxisPosition(unsigned int joystick, Axis axis)
Get the current position of a joystick axis.
Utility string class that automatically handles conversions between types and encodings.
Definition String.hpp:46
Structure holding a joystick's identification.
Definition Joystick.hpp:77
String name
Name of the joystick.
Definition Joystick.hpp:80
unsigned int productId
Product identifier.
Definition Joystick.hpp:82
unsigned int vendorId
Manufacturer identifier.
Definition Joystick.hpp:81