summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/controllers/npad.h
diff options
context:
space:
mode:
authorDavid Marcec <dmarcecguzman@gmail.com>2018-10-07 11:17:04 +0200
committerDavid Marcec <dmarcecguzman@gmail.com>2018-10-10 04:15:39 +0200
commitf43815af5d59bb1b31696f317c2e2ce243445cb5 (patch)
treeae555da5a47ef99ea03b9f51b56eecb5072a16c7 /src/core/hle/service/hid/controllers/npad.h
parentRemoved unneeded forward declarations (diff)
downloadyuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.tar
yuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.tar.gz
yuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.tar.bz2
yuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.tar.lz
yuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.tar.xz
yuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.tar.zst
yuzu-f43815af5d59bb1b31696f317c2e2ce243445cb5.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/hid/controllers/npad.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h
index 2d1614747..86ab0e429 100644
--- a/src/core/hle/service/hid/controllers/npad.h
+++ b/src/core/hle/service/hid/controllers/npad.h
@@ -91,6 +91,9 @@ public:
void AddNewController(NPadControllerType controller);
+ void ConnectNPad(u32 npad_id);
+ void DisconnectNPad(u32 npad_id);
+
private:
struct CommonHeader {
s64_le timestamp;
@@ -235,6 +238,12 @@ private:
INSERT_PADDING_BYTES(0xdf8);
};
static_assert(sizeof(NPadEntry) == 0x5000, "NPadEntry is an invalid size");
+
+ struct ControllerHolder {
+ Controller_NPad::NPadControllerType type;
+ bool is_connected;
+ };
+
NPadType style{};
std::array<NPadEntry, 10> shared_memory_entries{};
std::array<std::unique_ptr<Input::ButtonDevice>, Settings::NativeButton::NUM_BUTTONS_HID>
@@ -245,9 +254,9 @@ private:
Kernel::SharedPtr<Kernel::Event> styleset_changed_event;
std::size_t dump_idx{};
Vibration last_processed_vibration{};
- std::size_t CONTROLLER_COUNT{};
- const std::array<u32, 9> NPAD_ID_LIST{0, 1, 2, 3, 4, 5, 6, 7, 32};
- std::array<Controller_NPad::NPadControllerType, 9> CONNECTED_CONTROLLERS{};
+ std::size_t controller_count{};
+ static constexpr std::array<u32, 9> npad_id_list{0, 1, 2, 3, 4, 5, 6, 7, 32};
+ std::array<ControllerHolder, 9> connected_controllers{};
void InitNewlyAddedControler(std::size_t controller_idx);
};