Added controller helper funcs
This commit is contained in:
parent
a69b9d73f5
commit
362b28d052
|
@ -712,6 +712,37 @@ void Controller_NPad::SetVibrationEnabled(bool can_vibrate) {
|
||||||
can_controllers_vibrate = can_vibrate;
|
can_controllers_vibrate = can_vibrate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Controller_NPad::ClearAllConnectedControllers() {
|
||||||
|
std::for_each(connected_controllers.begin(), connected_controllers.end(),
|
||||||
|
[](ControllerHolder& controller) {
|
||||||
|
if (controller.is_connected && controller.type != NPadControllerType::None) {
|
||||||
|
controller.type = NPadControllerType::None;
|
||||||
|
controller.is_connected = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
void Controller_NPad::DisconnectAllConnectedControllers() {
|
||||||
|
std::for_each(connected_controllers.begin(), connected_controllers.end(),
|
||||||
|
[](ControllerHolder& controller) { controller.is_connected = false; });
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller_NPad::ConnectAllDisconnectedControllers() {
|
||||||
|
std::for_each(connected_controllers.begin(), connected_controllers.end(),
|
||||||
|
[](ControllerHolder& controller) {
|
||||||
|
if (controller.type != NPadControllerType::None && !controller.is_connected) {
|
||||||
|
controller.is_connected = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void Controller_NPad::ClearAllControllers() {
|
||||||
|
std::for_each(connected_controllers.begin(), connected_controllers.end(),
|
||||||
|
[](ControllerHolder& controller) {
|
||||||
|
controller.type = NPadControllerType::None;
|
||||||
|
controller.is_connected = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const {
|
bool Controller_NPad::IsControllerSupported(NPadControllerType controller) const {
|
||||||
const bool support_handheld =
|
const bool support_handheld =
|
||||||
std::find(supported_npad_id_types.begin(), supported_npad_id_types.end(), NPAD_HANDHELD) !=
|
std::find(supported_npad_id_types.begin(), supported_npad_id_types.end(), NPAD_HANDHELD) !=
|
||||||
|
|
|
@ -113,6 +113,10 @@ public:
|
||||||
void DisconnectNPad(u32 npad_id);
|
void DisconnectNPad(u32 npad_id);
|
||||||
LedPattern GetLedPattern(u32 npad_id);
|
LedPattern GetLedPattern(u32 npad_id);
|
||||||
void SetVibrationEnabled(bool can_vibrate);
|
void SetVibrationEnabled(bool can_vibrate);
|
||||||
|
void ClearAllConnectedControllers();
|
||||||
|
void DisconnectAllConnectedControllers();
|
||||||
|
void ConnectAllDisconnectedControllers();
|
||||||
|
void ClearAllControllers();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct CommonHeader {
|
struct CommonHeader {
|
||||||
|
|
Reference in New Issue