home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / C / OMEGA2 / OMKEY.CPP < prev    next >
C/C++ Source or Header  |  1992-04-25  |  2KB  |  65 lines

  1.  
  2. //
  3. // *************************************************************************
  4. // *                                                                       *
  5. // *    OMEGA C++ Windowing Class Library                                  *
  6. // *    =================================                                  *
  7. // *                                                                       *
  8. // *    Copyright 1991,92 Tom Clancy                                       *
  9. // *    Submitted to the public domain, April 1992                         *
  10. // *                                                                       *
  11. // *************************************************************************
  12. // *                                                                       *
  13. // *    Keyboard Methods                                                   *
  14. // *                                                                       *
  15. // *************************************************************************
  16. //
  17.  
  18.  
  19. #include "omkey.hpp"
  20.  
  21. int altkeys[26] = {330,348,346,332,318,333,334,335,323,336,337,338,
  22.            350,349,324,325,316,319,331,320,322,347,317,345,
  23.            321,344};
  24.  
  25. int key::istypeable(int k) {
  26.  
  27.   if(k>=32 && k<=126) return 1; else return 0;
  28. }
  29.  
  30. char key::upcase(char c) {
  31.   if(c>=97 && c<=122)
  32.     c-=32;
  33.   return c;
  34. }
  35.  
  36. int key::makealt(char c) {
  37.   int k=0;
  38.   if(istypeable(c)) {
  39.     c=upcase(c);
  40.     c-=64;
  41.     if(c>=1 && c<=26)
  42.       k=altkeys[c-1];
  43.  
  44.   }
  45.   return k;
  46. }
  47.  
  48. int key::readkey() {
  49.  
  50.    char ch;
  51.  
  52.    while(!keypressed());
  53.      ch=getch();
  54.      if(!ch) {
  55.        ch=getch();
  56.        keycode=300+ch;
  57.        extended=1;
  58.      }
  59.      else {
  60.        extended=0;
  61.        keycode=ch;
  62.      }
  63.    return keycode;
  64. }
  65.