Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: X-Sybari-Trust: 379af277 9c5d1ec5 900170aa 00000138 From: "Rick Hellicar (QMP)" To: "'cygwin AT cygwin DOT com'" Cc: "'J. Scott Edwards'" Subject: RE: Character at a time input (was Re: Where is less source?) Date: Fri, 23 Aug 2002 11:11:00 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Don't know about ioctl, but termios will do it. I've included a simple program that shows it working. If you're planning on detecting arrow keys, function keys, etc., then you have to remember that they produce an escape-sequence of several characters, which you'll have to detect and decode. Hope this helps, Rick #include #include #include int main (void) { struct termios new_settings; struct termios stored_settings; char c; /* record the old settings to restore the terminal when finished */ tcgetattr (0, &stored_settings); new_settings = stored_settings; /* set things up for character-at-a-time */ new_settings.c_lflag &= ~(ICANON | ECHO); new_settings.c_cc[VTIME] = 0; /* don't think this is relevant if VMIN=1 */ new_settings.c_cc[VMIN] = 1; tcsetattr (0, TCSANOW, &new_settings); /* main loop - press q to exit */ do { c = getchar (); printf ("%d\t%c\n", c, c); } while (c != 'q'); /* restore the old settings */ tcsetattr (0, TCSANOW, &stored_settings); return 1; } > -----Original Message----- > From: J. Scott Edwards [mailto:sedwards AT xmission DOT com] > Sent: 22 August 2002 23:23 > To: Gerrit @ cygwin > > Thanks, I found it. But unfortunately it didn't answer my question: > > Can ioctl be used to change the standard input into character > at a time > mode or do I have to use ncurses or is there a better way to > just get a > character at a time? -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/