代码之家  ›  专栏  ›  技术社区  ›  pokstad

如何使用net::telnet模块在perl中发送箭头键?

  •  3
  • pokstad  · 技术社区  · 16 年前

    使用perl模块net::telnet,如何向telnet会话发送一个箭头键,以便它与用户按键盘上的down键相同?

    use Net::Telnet;
    my $t = new Net::Telnet();
    my $down_key=?; #How do you send a down key in a telnet session?
    t->print($down_key);
    

    这个 list of VT102 codes 表示光标键码如下:

    Up:    Esc [   A
           033 133 101
    Down:  Esc [   B
           033 133 102
    Right: Esc [   C
           033 133 103
    Left:  Esc [   D
           033 133 104
    

    我怎么用telnet发送这些?这些代码是否与键盘上的箭头键相同?

    2 回复  |  直到 16 年前
        1
  •  5
  •   rjh    16 年前

    试印 "\e[B" . 这些代码确实是一样的-试着运行bourne shell sh 如果没有readline支持并按向上/向下箭头,您将看到 ^[[A 哪里 ^[ 表示转义字符。

        2
  •  1
  •   Gavin Brock    16 年前

    一些程序期望ss3逃逸,而不是csi。如果“\e[a”和朋友不工作,请尝试:

    %ss3 = (
       up    => "\eOA",
       down  => "\eOB",
       right => "\eOC",
       left  => "\eOD",
    );
    

    (这些是大写字母O,不是零)

    推荐文章