home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / os / vms / 17732 < prev    next >
Encoding:
Text File  |  1992-11-10  |  2.7 KB  |  77 lines

  1. Path: sparky!uunet!stanford.edu!agate!ucbvax!NKUVAX.BITNET!FINLEY
  2. From: FINLEY@NKUVAX.BITNET (Kevin Finley)
  3. Newsgroups: comp.os.vms
  4. Subject: Re: Easy Way to trap for Control-Z In VAX C?
  5. Message-ID: <01GQZFW3KCAA8WW9G8@NKUVAX.BITNET>
  6. Date: 10 Nov 92 15:07:20 GMT
  7. Sender: daemon@ucbvax.BERKELEY.EDU
  8. Distribution: world
  9. Organization: The Internet
  10. Lines: 65
  11.  
  12. >Netters,
  13. >     Is there any good way to trap for a Control-Z keystroke in Vax C?  I have
  14. >looked in manual after manual looking for some hint of what to do. A friend of
  15. >mine has told me it was 26 in the ASCII character set. (or that is how he uses
  16. >it in Pascal) However any attempts to use something like if (input == 26) where
  17. >the input is of type char.
  18. >     Any hints, and better yet samples of C source would be apprecated. Also,
  19. >since we're on the subject, are similar ways to trap Control-Y and T possible?
  20.  
  21.  
  22. >                                                 Joshua
  23.  
  24. >(****************************************************************************)
  25. >(* *****  *   * *  *  |  Name      : Joshua J. Hart              Ack  _,_/| *)
  26. >(* *      *  *  *  *  |  Bitnet    : STUHART@EKU;  hart%eagle@eku   \ \o.O; *)
  27. >(* ****   * *   *  *  |  Internet  : AN984@Cleveland.Freenet.Edu     =(___)=*)
  28. >(* *      ***   *  *  |  School    : Eastern Kentucky University        U   *)
  29. >(* *      *  *  *  *  |  Major     : Forensic Chemistry / Computer Science  *)
  30. >(* *****  *   *  **   |  Disclaimer: Opinions are Mine, No one else wants Em*)
  31. >(****************************************************************************)
  32. >%SYSTEM-W-TMNYFNGRS, too many fingers on keyboard
  33.  
  34. Yes,  I am sorry I took so long to reply.  I've been very busy.  Here is a
  35. simple program to use.  This program takes input received, and echos it out if
  36. it is printable or echos its ascii code if not.  This program doesn't trap
  37. control-y/c or control-t because the Queued Input Output (QIO) services don't,
  38. sorry.  I ran it and it traps control-z as 26 and escape as it should at 27.
  39.  
  40. I hope this helps.  Please send any replies to me personally.  I unsubscribed
  41. to info-vax because it requires too much of my time to keep it from blowing my
  42. disk quota.
  43.  
  44. #include <ctype.h>
  45. #include <limits.h>
  46. #include <iodef.h>
  47. #include <psldef.h>
  48. #include <ssdef.h>
  49. #include <stdio.h>
  50. #include <descrip.h>
  51.  
  52. #define TMPMBX 0
  53. #define PROT_MASK 0
  54.  
  55.  
  56. main()
  57. {
  58.   char this;
  59.   unsigned short chan;
  60.   int stat;
  61.  
  62.   $DESCRIPTOR ( dev_descriptor, "SYS$OUTPUT:" );
  63.  
  64.   sys$assign ( &dev_descriptor, &chan, PSL$C_USER, NULL );
  65. loop:
  66.   stat = sys$qiow ( SS$_NORMAL, chan, IO$_READLBLK, NULL, NULL, NULL,
  67.                     &this, 1, NULL, NULL, NULL, NULL );
  68.   if ( isprint ( this ) )
  69.         printf ( "char: %c\n", this );
  70.   else
  71.         printf ( "code: %d\n", (int) this );
  72.   if ( this != 'z' )
  73.     goto loop;
  74. }
  75.  
  76.  
  77.