diff --git a/vt100/main.c b/vt100/main.c index 68f8867..2ae9a1b 100644 --- a/vt100/main.c +++ b/vt100/main.c @@ -12,6 +12,7 @@ int full = 0; int quick = 0; int field_rate = 1; float curvature = 0.1; +int flow = 1; char *argv0; char **cmd; @@ -128,7 +129,7 @@ int main (int argc, char **argv) sdl_capslock (0x7E); //Default is capslock. argv0 = argv[0]; - while ((opt = getopt (argc, argv, "b:Br2fR:DC:QN:c:")) != -1) { + while ((opt = getopt (argc, argv, "b:Br2fR:DC:QN:c:X")) != -1) { switch (opt) { case 'B': /* Backspace is Rubout. */ @@ -157,6 +158,9 @@ int main (int argc, char **argv) case 'c': curvature = atof (optarg); break; + case 'X': + flow = 0; + break; default: usage(); break; diff --git a/vt100/pty.c b/vt100/pty.c index c304865..f27c309 100644 --- a/vt100/pty.c +++ b/vt100/pty.c @@ -89,6 +89,7 @@ static void terminal_settings (int fd) get_baud (cfgetispeed (&new)), get_baud (cfgetospeed (&new))); xonxoff = + flow && (new.c_iflag & IXON) != 0 && new.c_cc[VSTART] == 0x11 && new.c_cc[VSTOP] == 0x13; diff --git a/vt100/vt100.h b/vt100/vt100.h index eb21736..2b5d80c 100644 --- a/vt100/vt100.h +++ b/vt100/vt100.h @@ -45,6 +45,7 @@ extern int pty; extern int sound_scope; extern int quick; extern int field_rate; +extern int flow; extern u8 vt100rom[]; extern u8 vt100font[];