Controller: Add methods to query buttons/axises for a controller type

This commit is contained in:
Connor McLaughlin
2020-01-02 16:10:42 +10:00
parent 0528a2a1f9
commit 4b1541087a
6 changed files with 86 additions and 0 deletions

View File

@ -413,3 +413,26 @@ std::optional<s32> AnalogController::StaticGetButtonCodeByName(std::string_view
#undef BUTTON
}
Controller::AxisList AnalogController::StaticGetAxisNames()
{
#define A(n) \
{ \
#n, static_cast < s32>(Axis::n) \
}
return {A(LeftX), A(LeftY), A(RightX), A(RightY)};
#undef A
}
Controller::ButtonList AnalogController::StaticGetButtonNames()
{
#define B(n) \
{ \
#n, static_cast < s32>(Button::n) \
}
return {B(Up), B(Down), B(Left), B(Right), B(Select), B(Start), B(Triangle), B(Cross), B(Circle),
B(Square), B(L1), B(L2), B(R1), B(R2), B(L3), B(R3)};
#undef B
}