*sigh*
Example of virtual key usage:
Code:
#include <windows.h>
#include <iostream>
bool Keypress(char &Key)
{
INPUT_RECORD Event;
DWORD NumberOfEvents, EventsRead, EventCounter;
GetNumberOfConsoleInputEvents(GetStdHandle(STD_INPUT_HANDLE), &NumberOfEvents);
if (NumberOfEvents == 0)
return false;
for (EventCounter = 0; EventCounter < NumberOfEvents; EventCounter++)
{
PeekConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &Event, 1, &EventsRead);
if ((Event.EventType == KEY_EVENT) && ((Event.Event.KeyEvent.bKeyDown)))
{
ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &Event, 1, &EventsRead);
Key = Event.Event.KeyEvent.wVirtualKeyCode;
if (!(FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE))))
exit(0);
return true;
}
else
ReadConsoleInput(GetStdHandle(STD_INPUT_HANDLE), &Event, 1, &EventsRead);
}
return false;
}
int main()
{
char key = 0;
for (;;)
{
if (Keypress(key))
{
if (key == VK_LEFT)
std::cout << "Left\n";
if (key == VK_RIGHT)
std::cout << "Right\n";
if (key == VK_DOWN)
std::cout << "Down\n";
if (key == VK_UP)
std::cout << "Up\n";
if (key == VK_ESCAPE)
return 0;
}
}
return 0;
}