[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: piping escape into dosemu



TW wrote:
2010/3/9 Mike McCarty <Mike.McCarty@xxxxxxxxxxxxx>:
TW wrote:
[...] I start dosemu like

 dosemu -input 'thedosapp.exe\r\^['

because in the readme[1] I'm told that "\^[" is the syntax for the
escape key.  At least that's how I interpret the "\^x" section.
[...] I suspect
that you are typing three characters '\', '^', and '['. That
is not the intended action. What is intended is that you type
a BACKSLASH ('\'), and an ESC. The shell displays on your
screen two characters when you type ESC, but that is a single keystroke.


O.K., I'm beginning to understand what you're talking about.  Up to
now I didn't really use anything but bash.  At least for me, pressing
the escape key (however often) does not display anything, but when
trying sh and dash, I see that pressing ESC "visually" resuts in ^[.

$ set | grep SHELL
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor

$ /bin/bash --version
GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

Perhaps something in SHELLOPTS is different, and modifies that behavior.

And yes, now something like

  dosemu -input 'thedosapp.exe\r\^['

indeed works, many thanks for pointing me to this!  Unfortunately, for
some reason this only works with the -input switch, but not when
piping, like

  echo "keystroke \^[" > dospipe

Please note that "some string" and 'some string' are NOT the same.
However, in this case, I don't see what difference it would make.

(where ^[ is what results from pressing ESC).  It doesn't work through
dosctrl or Ruby either.  I wonder why this is supported by the -input
switch, but not by the keystroke command...

I may try to find out more, but I believe fixing it (i.e. making the
string representing a piped keystroke sequence is parsed in the same
manner that a keystroke string passed on the command line is) will be
beyond my possibilities.

I'm not ready to throw in the towel. If we keep plugging at it,
I think we can get there.

Thanks for your help!

What do you get when you do this:

$ echo -n "^[" | wc
      0       0       1

Do you get the " 0 0 1" output I do? If so, then we can get there.
Or try

$ echo -n '^[' | wc
      0       0       1

Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
Oppose globalization and One World Governments like the UN.
This message made from 100% recycled bits.
You have found the bank of Larn.
I speak only for myself, and I am unanimous in that!
--
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Linux Console]     [Audio]     [Hams]     [Kernel Newbies]     [Memory]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite Camping]     [Yosemite Photos]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linux Resources]     [Fedora Users]

Add to Google Powered by Linux