home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / dos / prg / cthugha5 / cthu5src / zorilkey.c < prev    next >
Text File  |  1994-08-19  |  4KB  |  188 lines

  1. //
  2. // Cthugha - Audio Seeded Image Processing
  3. //
  4. // Zaph, Digital Aasvogel Group, Torps Productions 1993-1994
  5. //
  6.  
  7.  
  8.  
  9. /*
  10.    █▀ moles ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  11.    █          zorilkey.c                                           █
  12.    █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  13.  
  14.     Incept : 28Aug92 moles 
  15.     Mod:
  16.     ───────────────────────────────────────────────────────────────────────
  17. */
  18.  
  19. #include <stdlib.h>
  20. #include <bios.h>
  21.  
  22. #include "zorilkey.h"
  23.  
  24. int newwave=1;
  25.  
  26. int z_keypress(void)
  27. {
  28.     int key;
  29.  
  30.     if (_bios_keybrd(_KEYBRD_READY)==0)
  31.             return Z_NOKEY;
  32.  
  33.     // Lets get ALL the keypresses at once, remembering the last one
  34.     while (_bios_keybrd(_KEYBRD_READY))
  35.         key = _bios_keybrd(_KEYBRD_READ);
  36.  
  37.     
  38.     switch((key&0x00ff)) {
  39.         case 'S':
  40.         case 's':
  41.             return Z_FFT;
  42.         case 'L':
  43.         case 'l':
  44.             return Z_LOCK;
  45.         case 'X':
  46.         case 'x':
  47.             return Z_ESC;
  48.         case 'm':
  49.         case 'M':
  50.             return Z_MASSAGE;
  51.         case ' ':
  52.             return Z_SPACE;
  53.         case 'd':
  54.         case 'D':
  55.             return Z_DISPLAY;
  56.         case 't':
  57.         case 'T':
  58.             return Z_TABLE;
  59.         case 'p':
  60.         case 'P':
  61.             return Z_PALETTE;
  62.         case 'f':
  63.         case 'F':
  64.             return Z_FLAME;
  65.         case 'w':
  66.         case 'W':
  67.             return Z_WAVE;
  68.         case '+':
  69.         case '=':
  70.             return Z_SAMPLE_UP;
  71.         case '.':
  72.         case '>':
  73.             return Z_NOISE_UP;
  74.         case '-':
  75.         case '_':
  76.             return Z_SAMPLE_DN;
  77.         case ',':
  78.         case '<':
  79.             return Z_NOISE_DN;
  80.         case '?':
  81.         case '/':
  82.             return Z_HELP;
  83.         case '*':
  84.             return Z_STEREO;
  85.  
  86.         case 'C':
  87.         case 'c':
  88.             return Z_CD;
  89.  
  90.         case 'I':
  91.         case 'i':
  92.             return Z_ADDINI;
  93.         case '!':
  94.             return Z_TRANSLATE;
  95.         case 0:
  96.         default:
  97.             switch (key) {
  98.                 case ALT_A:
  99.                     newwave=0; return Z_NEWWAVE;
  100.                     break;
  101.                 case ALT_B:
  102.                     newwave=1; return Z_NEWWAVE;
  103.                     break;
  104.                 case ALT_C:
  105.                     newwave=2; return Z_NEWWAVE;
  106.                     break;
  107.                 case ALT_D:
  108.                     newwave=3; return Z_NEWWAVE;
  109.                     break;
  110.                 case ALT_E:
  111.                     newwave=4; return Z_NEWWAVE;
  112.                     break;
  113.                 case ALT_F:
  114.                     newwave=5; return Z_NEWWAVE;
  115.                     break;
  116.                 case ALT_G:
  117.                     newwave=6; return Z_NEWWAVE;
  118.                     break;
  119.                 case ALT_H:
  120.                     newwave=7; return Z_NEWWAVE;
  121.                     break;
  122.                 case ALT_I:
  123.                     newwave=8; return Z_NEWWAVE;
  124.                     break;
  125.                 case ALT_J:
  126.                     newwave=9; return Z_NEWWAVE;
  127.                     break;
  128.                 case ALT_K:
  129.                     newwave=10; return Z_NEWWAVE;
  130.                     break;
  131.                 case ALT_L:
  132.                     newwave=11; return Z_NEWWAVE;
  133.                     break;
  134.                 case ALT_M:
  135.                     newwave=12; return Z_NEWWAVE;
  136.                     break;
  137.                 case ALT_N:
  138.                     newwave=13; return Z_NEWWAVE;
  139.                     break;
  140.                 case ALT_O:
  141.                     newwave=14; return Z_NEWWAVE;
  142.                     break;
  143.                 case ALT_P:
  144.                     newwave=15; return Z_NEWWAVE;
  145.                     break;
  146.                 case ALT_Q:
  147.                     newwave=16; return Z_NEWWAVE;
  148.                     break;
  149.                 case ALT_R:
  150.                     newwave=17; return Z_NEWWAVE;
  151.                     break;
  152.                 case ALT_S:
  153.                     newwave=18; return Z_NEWWAVE;
  154.                     break;
  155.                 case ALT_T:
  156.                     newwave=19; return Z_NEWWAVE;
  157.                     break;
  158.                 case ALT_U:
  159.                     newwave=20; return Z_NEWWAVE;
  160.                     break;
  161.                 case ALT_V:
  162.                     newwave=21; return Z_NEWWAVE;
  163.                     break;
  164.                 case ALT_W:
  165.                     newwave=22; return Z_NEWWAVE;
  166.                     break;
  167.                 case ALT_X:
  168.                     newwave=23; return Z_NEWWAVE;
  169.                     break;
  170.                 case ALT_Y:
  171.                     newwave=24; return Z_NEWWAVE;
  172.                     break;
  173.                 case ALT_Z:
  174.                     newwave=25; return Z_NEWWAVE;
  175.                     break;
  176.                 case SHFT_FN1:
  177.                 case FN1:
  178.                     return Z_HELP;
  179.                 case ESC:
  180.                     return Z_ESC;
  181.                 default:
  182.                     return Z_OTHERKEY;
  183.             }
  184.             break;
  185.     }
  186.     return Z_OTHERKEY; // never gets here
  187. }
  188.