#define OLC_PGE_APPLICATION #include "pixelGameEngine.h" class CustomControls : public olc::PixelGameEngine { public: CustomControls() { sAppName = "Configuring Custom Controls"; } private: olc::Key MOVE_UP=olc::W; olc::Key MOVE_DOWN=olc::S; olc::Key MOVE_RIGHT=olc::D; olc::Key MOVE_LEFT=olc::A; olc::vd2d pos = {0,0}; std::array keysList = {"UP","RIGHT","DOWN","LEFT"}; int configuringKeyIndex = 0; public: bool OnUserCreate() override { return true; } bool OnUserUpdate(float fElapsedTime) override { if (GetKey(olc::F1).bPressed) { TextEntryEnable(true); configuringKeyIndex=0; } if (TextEntryGetString().size()>0) { char c = TextEntryGetString()[0]; olc::Key customKey; if (c>='a'&&c<='z') { c-=32; //Capitalize the letter. customKey=(olc::Key)(c-'A'+1); } else if (c>='A'&&c<='Z') { customKey=(olc::Key)(c-'A'+1); } else if (c>='0'&&c<='9') { customKey=(olc::Key)(c-'0'+olc::Key::K0); } else { return true; } switch (configuringKeyIndex) { case 0:{ MOVE_UP=customKey; }break; case 1:{ MOVE_RIGHT=customKey; }break; case 2:{ MOVE_DOWN=customKey; }break; case 3:{ MOVE_LEFT=customKey; }break; } configuringKeyIndex++; if (configuringKeyIndex