C++ 通过Telnet捕获ESC按键?

C++ 通过Telnet捕获ESC按键?,c++,embedded,telnet,C++,Embedded,Telnet,我们有一个嵌入式应用程序,当我们通过串行方式访问它时,它会响应“Esc”键,但当我们通过Telnet访问电路板时,它不会响应 正在发送某种类型的数据,但它似乎与我们的“Esc”键不对应。(如果我们按ESC键,然后输入我们得到的是“Unrecognized command”,而不是新的提示)我找不到任何关于在telnet中按“ESC”键时发送的内容的文档 有没有关于如何捕获此ESC按键的想法?生成ASCII转义字符,其代码27为十进制,1B为十六进制。找到它: 与Telnet无关,但ESC按键被捕

我们有一个嵌入式应用程序,当我们通过串行方式访问它时,它会响应“Esc”键,但当我们通过Telnet访问电路板时,它不会响应

正在发送某种类型的数据,但它似乎与我们的“Esc”键不对应。(如果我们按ESC键,然后输入我们得到的是“Unrecognized command”,而不是新的提示)我找不到任何关于在telnet中按“ESC”键时发送的内容的文档

有没有关于如何捕获此ESC按键的想法?

生成ASCII转义字符,其代码27为十进制,1B为十六进制。

找到它:
与Telnet无关,但ESC按键被捕获,Telnet不在输入库中捕获的流路径上。

我知道你有你的答案,但我遇到了这个问题,它不是你的数据流路径的故障。我将把它包括在这里,以防其他人在搜索时遇到这个问题

我可以使用
CTRL+3
(数字三)、
CTRL+[
,或者通过按escape键本身发送escape键,但只有在将telnet的模式更改为character:

  • 首先按telnet的转义序列(
    CTRL+]
    ,默认情况下)
  • 键入模式字符,然后按Enter键禁用LINEMODE

  • 现在,您应该能够使用我前面提到的三种方法中的任何一种发送转义序列(转义键、
    CTRL+3
    CTRL+[
    ).

    如果我记得在我以前的BBS上,它应该是ASCII字符27.编辑:找到它;与telnet的数据流路径相关,不包含ESC键的捕获。这是我们通过串行方式获取的键码,但在telnet上似乎不起作用。@Luciano:这很奇怪。你能临时修改你的嵌入式应用程序以打印出这些代码吗它得到了吗?@Luciano:另外,如果你按下
    Ctrl
    +
    [
    而不是
    Esc
    ,会发生什么?找到了:它与Telnet没有直接关系:他们有一个单独的处理器用于STDIO和Telnet输入,Esc键捕获在STDIO的处理器中处理,而不存在于Telnet处理程序中。