载入中...
搜索中...
未找到
Joystick.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Export.h"
4#include "common/Module.h"
5#include "joystick/Pad.h"
6
7#include <string>
8
9namespace eve::joystick {
10
15public:
17
19 virtual ~Joystick();
20
22 virtual Pad* addJoystick(int deviceindex) = 0;
24 virtual void removeJoystick(Pad* pad) = 0;
25
27 virtual Pad* getJoystickFromID(int instanceid) = 0;
29 virtual Pad* getJoystick(int joyindex) = 0;
31 virtual int getIndex(const Pad* pad) = 0;
33 virtual int getJoystickCount() const = 0;
34
36 virtual void loadGamepadMappings(const std::string& mappings) = 0;
38 virtual std::string saveGamepadMappings() = 0;
40 virtual std::string getGamepadMappingString(const std::string& guid) const = 0;
41};
42
43} // namespace eve::joystick
#define EVENGINE_API_PLATFORM
Definition Export.h:107
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Joystick / gamepad manager. Tracks connected pads and gamecontroller mappings.
Definition Joystick.h:14
virtual int getJoystickCount() const =0
Number of currently tracked pads.
virtual std::string saveGamepadMappings()=0
Serializes the in-memory GameController mapping database.
virtual void removeJoystick(Pad *pad)=0
Removes and destroys a previously opened pad.
virtual Pad * getJoystickFromID(int instanceid)=0
Looks up a pad by SDL instance id; null if unknown.
virtual void loadGamepadMappings(const std::string &mappings)=0
Load SDL GameController mapping database (newline-separated).
virtual std::string getGamepadMappingString(const std::string &guid) const =0
Mapping string for a device GUID, or empty if none.
virtual int getIndex(const Pad *pad)=0
Dense index of pad, or -1 if not tracked.
virtual Pad * getJoystick(int joyindex)=0
Pad at a dense joyindex in [0, getJoystickCount()).
virtual Pad * addJoystick(int deviceindex)=0
Open a device by SDL device index; returns null on failure.
One connected (or previously connected) joystick / gamepad device. Gamepad axis/button names follow S...
Definition Pad.h:13
uint32_t pad[2]