2
$ssh = new Net_SSH2($address, $port);
if (!$ssh->login($user, $pass)) {
    exit('Login Failed');
}

echo "<pre>";

$ssh->setTimeout(5);
echo $ssh->read();
$ssh->write($app_name);
$ssh->write("\n \n \n b");
$ssh->write($f_one); // This is where I need to hit F1
echo $ssh->read();

我搜索并发现 chr() 可能是我的解决方案,但功能键的十进制字符代码包含一个逗号(是一对:00,59),它 chr() 拆分为单独的参数并失败。

这是我找到十进制对的地方,如果它是正确的。 http://www.jimprice.com/jim-asc.shtml#keycodes

在此线程中的帖子之后。 http://www.velocityreviews.com/forums/t277457-re-ascii-code-for-functions-keys-f1-f12-and-tab-key.html

任何帮助或正确方向的观点将不胜感激。

4

1 回答 1

1

您正在查看的关键代码列表正在谈论键盘扫描代码,这是完全不同且不相关的东西。

功能键的 VT100 序列很复杂。F1 到 F4 通常发送为:

F1: \x1bOP
F2: \x1bOQ
F3: \x1bOR
F4: \x1bOS

但是,此模式不适用于后续功能键。如需更完整的列表,请参阅http://rtfm.etla.org/xterm/ctlseq.html(搜索“12 个功能键”,注意CSI表示序列\x1b[。)

于 2012-12-15T17:59:08.903 回答