Abdulg

C++ keyboard input

Jul 29th, 2012
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.95 KB | None | 0 0
  1. //Keyboard input in C++
  2. //Feel free to adapt
  3. #define PAGE_UP     73
  4. #define HOME        71
  5. #define END         79
  6. #define PAGE_DOWN   81
  7. #define UP_ARROW    72
  8. #define LEFT_ARROW  75
  9. #define DOWN_ARROW  80
  10. #define RIGHT_ARROW 77
  11. #define F1          59
  12. #define F2          60
  13. #define F3          61
  14. #define F4          62
  15. #define F5          63
  16. #define F6          64
  17. #define F7          65
  18. #define F8          66
  19. #define F9          67
  20. #define F10         68
  21. #include <iostream>
  22. #include <conio.h>
  23.  
  24. using namespace std;
  25.  
  26. int main()
  27. {
  28.     char KeyStroke;
  29.  
  30.     cout << "ESC to quit" << endl;
  31.  
  32.     do
  33.     {
  34.         KeyStroke = getch();
  35.  
  36.         if (KeyStroke == 0 || KeyStroke == -32)
  37.         {
  38.             KeyStroke = getch();
  39.             switch (KeyStroke)
  40.             {
  41.             case PAGE_UP:
  42.                 cout << "PAGE UP" << endl;
  43.                 break;
  44.             case PAGE_DOWN:
  45.                 cout << "PAGE DOWN" << endl;
  46.                 break;
  47.             case HOME:
  48.                 cout << "HOME" << endl;
  49.                 break;
  50.             case END:
  51.                 cout << "END" << endl;
  52.                 break;
  53.             case UP_ARROW:
  54.                 cout << "UP ARROW" << endl;
  55.                 break;
  56.             case DOWN_ARROW:
  57.                 cout << "DOWN ARROW" << endl;
  58.                 break;
  59.             case LEFT_ARROW:
  60.                 cout << "LEFT ARROW" << endl;
  61.                 break;
  62.             case RIGHT_ARROW:
  63.                 cout << "RIGHT ARROW" << endl;
  64.                 break;
  65.             case F1:
  66.                 cout << "F1" << endl;
  67.                 break;
  68.             case F2:
  69.                 cout << "F2" << endl;
  70.                 break;
  71.             case F3:
  72.                 cout << "F3" << endl;
  73.                 break;
  74.             case F4:
  75.                 cout << "F4" << endl;
  76.                 break;
  77.             case F5:
  78.                 cout << "F5" << endl;
  79.                 break;
  80.             case F6:
  81.                 cout << "F6" << endl;
  82.                 break;
  83.             case F7:
  84.                 cout << "F7" << endl;
  85.                 break;
  86.             case F8:
  87.                 cout << "F8" << endl;
  88.                 break;
  89.             case F9:
  90.                 cout << "F9" << endl;
  91.                 break;
  92.             case F10:
  93.                 cout << "F10" << endl;
  94.                 break;
  95.             default:
  96.                 cout << "Another key" << endl;
  97.             }
  98.         }
  99.         else
  100.             cout << KeyStroke << endl;
  101.     }
  102.     while (KeyStroke != 27); // 27 = Escape key
  103.     return 0;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment