Terminal 如何让密钥绑定在gnuplot哑终端中工作?

Terminal 如何让密钥绑定在gnuplot哑终端中工作?,terminal,gnuplot,Terminal,Gnuplot,我试图在文本终端dumb中实现一个绘图循环。 为了停止循环,我正在使用bind(检查help bind)。 这可以正常工作,例如在wxt终端中,但是,当使用dumb终端时,循环不会停止 我知道我可以通过按下Ctrl+C来停止循环,但是,似乎不可能进行键绑定。为什么会这样?如何解决 代码: ### key bind in dumb terminal? reset session set term dumb 120,30 # random plot set samples 20 plot '+'

我试图在文本终端
dumb
中实现一个绘图循环。 为了停止循环,我正在使用
bind
(检查
help bind
)。 这可以正常工作,例如在
wxt
终端中,但是,当使用
dumb
终端时,循环不会停止

我知道我可以通过按下
Ctrl+C
来停止循环,但是,似乎不可能进行键绑定。为什么会这样?如何解决

代码:

### key bind in dumb terminal?
reset session
set term dumb 120,30

# random plot
set samples 20
plot '+' u 1:(rand(0)) w l ti strftime("%d.%m.%Y\n%H:%M:%S",time(0))

stop = 0
bind x "stop = 1"

while !stop {
    pause 1.5     # delay in seconds
    replot
}
### end of code
结果:(但按
x
不会像在
wxt
终端中那样停止循环)


我认为这是行不通的。从
帮助绑定

请注意,
bind
仅在gnuplot使用鼠标支持编译时可用,并且所有支持鼠标的终端都使用它

据我所知,
dumb
终端不是交互式的。因此,它不具备“鼠标能力”,并且不会对鼠标动作或按键做出反应

源文件
dumb.trm
包含以下行

   #ifdef USE_MOUSE
      , NULL, NULL, NULL, NULL, NULL

这(我认为)支持我的假设:即使您的gnuplot版本具有通用鼠标支持,
bind
也不能在
dumb
终端中使用。

谢谢您的检查。。。嗯,这不是鼠标操作,而是按键
Ctrl+C
也可以工作,那么为什么
Ctrl+A
不能工作,或者干脆
A
?不管怎么说,可能就是这样…(目前)…@theozh似乎介于互动和非互动之间。鼠标和按键在同一侧(在交互一侧)。我编辑了答案以强调这一点。“Ctrl-C”(SIGINT)是特殊的,由单独的信号处理程序处理。例如,您可以中断一个根本不需要任何终端的
fit
命令。好的,在我的安装中,我看到另一个终端
caca
,它应该是一个交互式文本终端(显然仍然是实验性的,请检查
help caca
)。在那里,我可以通过按
x
停止循环,但是,我无法正确设置画布大小,它正在冻结或崩溃gnuplot:-(。
   #ifdef USE_MOUSE
      , NULL, NULL, NULL, NULL, NULL