Thread: FAQ: Directional Keys - Useing in Console

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Banal internet user
    Join Date
    Aug 2002
    Posts
    1,380
    *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;
    }
    Last edited by BMJ; 10-04-2002 at 04:33 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Wiki FAQ
    By dwks in forum A Brief History of Cprogramming.com
    Replies: 192
    Last Post: 04-29-2008, 01:17 PM
  2. directional keys @ console
    By ipe in forum C Programming
    Replies: 1
    Last Post: 03-13-2003, 06:25 AM
  3. Directional Keys - Useing in Console
    By RoD in forum C++ Programming
    Replies: 38
    Last Post: 10-06-2002, 04:42 PM
  4. Arrow keys in console?
    By SyntaxBubble in forum C++ Programming
    Replies: 3
    Last Post: 02-02-2002, 06:12 PM