home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 328_01 / walt.c < prev    next >
Text File  |  1991-03-17  |  896b  |  44 lines

  1. /*! wALT.c
  2.  *
  3.  *   file contains function declarations for testing ALT keys
  4.  */
  5.  
  6. #include "wsys.h"
  7.  
  8. int ALT (int val) {
  9.  
  10.     return (
  11.         (128 + (int) *( (val) - 65 +
  12.     /*  a   b   c   d   e   f   g   h   i   j   k   l   m */
  13.     "\x1E\x30\x2E\x20\x12\x21\x22\x23\x17\x24\x25\x26\x32"
  14.  
  15.     /*  n   o   p   q   r   s   t   u   v   w   x   y   z */
  16.     "\x31\x18\x19\x10\x13\x1F\x14\x16\x2F\x11\x2d\x15\x2C"
  17.                 ) )
  18.         );
  19.     } /*end ALT*/
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. int unALT (int val)
  28.     {
  29.     return (
  30.  
  31.    (    ((val) >= 0x10 +128 && ((val) <= 0x19 +128)) ?
  32.         /*top row*/  *( ((val)-0x10 -128) + "QWERTYUIOP" )
  33.     :  (    ((val) >= 0x1E +128 && ((val) <= 0x26 +128))  ?
  34.        /*2nd row*/  *( ((val)-0x1E -128) + "ASDFGHJKL" )
  35.               : (   ((val) >= 0x2C +128 && ((val) <= 0x32 +128))  ?
  36.               /*3rd row*/  *( ((val)-0x2C -128) + "ZXCVBNM" )
  37.                  : /*error*/ 0
  38.             )
  39.        )
  40.    )
  41.         );
  42.     } /*end unALT*/
  43.  
  44.