#include namespace PD { namespace GamePadIcons { /// For Reference see docs at 3DBrew std::unordered_map gp_icons{ {A, "\uE000"}, {B, "\uE001"}, {X, "\uE002"}, {Y, "\uE003"}, {L, "\uE004"}, {R, "\uE005"}, {Dpad, "\uE006"}, {Start, "\uE045"}, {Select, "\uE046"}, {Home, "\uE073"}, {Steps, "\uE074"}, {PlayCoin, "\uE075"}, {AnalogStick, "\uE077"}, {Power3DS, "\uE078"}, {DpadUp, "\uE079"}, {DpadDown, "\uE07A"}, {DpadLeft, "\uE07B"}, {DpadRight, "\uE07C"}, {DpadHorizontal, "\uE07D"}, {DpadVertical, "\uE07E"}, }; std::unordered_map gp_link{ {Hid::A, ID::A}, {Hid::B, ID::B}, {Hid::X, ID::X}, {Hid::Y, ID::Y}, {Hid::L, ID::L}, {Hid::R, ID::R}, {Hid::Start, ID::Start}, {Hid::Select, ID::Select}, {Hid::DUp, ID::DpadUp}, {Hid::DDown, ID::DpadDown}, {Hid::DLeft, ID::DpadLeft}, {Hid::DRight, ID::DpadRight}, }; std::string GetIcon(ID id) { auto e = gp_icons.find(id); if (e == gp_icons.end()) { return ""; } return e->second; } std::string GetIcon(Hid::Key key) { auto e = gp_link.find(key); if (e == gp_link.end()) { return ""; } return gp_icons[gp_link[key]]; } } // namespace GamePadIcons } // namespace PD