Subject: tty raw mode
From: [email-masked] (Kees van Veen)

17 Oct 1997 18:55:03 -0700
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: [email-masked]

Hi,

A while ago I posted a question about getting the console in raw mode.
In the meantime I found a partially working solution using
GetConsoleMode and
SetConsoleMode.

Here's a piece of code:

#include <stdio.h>
#include <fcntl.h>
#include <windows.h>

main()
{
        DWORD dwMode;
        HANDLE hStdIn = GetStdHandle(STD_INPUT_HANDLE);
        
        if (GetConsoleMode(hStdIn, &dwMode) == TRUE)
                SetConsoleMode(hStdIn, 
                    dwMode & ~(ENABLE_LINE_INPUT |		/* No buffering */
                               ENABLE_PROCESSED_INPUT |
                               ENABLE_ECHO_INPUT |		/* No echo
*/            			               ENABLE_WINDOW_INPUT));
        for (;;)
        {
                int c = getchar();
                printf("%d <%c>\n", c, c);
        }
}

Now all works fine except for two things:

1) getchar() does not distinguish between <CR> and <LF>
2) <LF) produces <CR><LF>

I've also tried a version using ReadConsole(), I've tried _setmode(0,
O_BINARY), but
without any success.

Does any of you have any idea ?

Thanks in advance for your time.

Kees
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".