... Which it appears that it is (1b)
Yes, 1b is the escape key, which introduces an escape sequence.
Still, it's somewhat tricky to handle, because sequences may have
different lengths (e.g. my function keys (F1-F12) produce 5-bytes).
What you could do is put all possible escape sequences into some lookup hash.
Then, when you encounter the escape char, reset $buf and switch
into an "escape mode", which means that for every char received from ReadKey(),
you'd try to lookup the current buffer content in the hash. Once you
succeed, you've reached the end of the escape sequence, and you can
switch back to "normal mode". To be able to handle possibly unforeseen
sequences, you'll probably want to switch back from escape mode anyway
as soon as you've reached a certain buffer length without a successful
lookup. Or some such... (I could post some code, in case I should
have failed to make it clear...:)
| [reply] [d/l] [select] |