【发布时间】:2018-05-20 01:26:58
【问题描述】:
传统上,终端中的 command/ctrl +(小写 L)会清除它。
我可以使用 Node.js 将其写入标准输出来清除终端:
process.stdout.write('\x1Bc');
但是我如何才能监听信号,特别是“command + l”组合键? (即小写 L)。
我认为 Node.js 的答案可能与:
readline.emitKeypressEvents
https://nodejs.org/api/readline.html#readline_readline_emitkeypressevents_stream_interface
【问题讨论】:
-
我假设
ctrl + l代表终端的信号,但我找不到该信息:en.wikipedia.org/wiki/Signal_(IPC) -
其实 Ctrl+L 不是信号,更像是 readline 等库的“已知键绑定”。如果您无法使用
readline模块或不编写交互式 shell,我会研究一下 termcaps 是什么。 -
好吧,这就是我的想法,我怎么能捕捉到呢?
-
我不太确定,因此我不写答案,但我认为它肯定涉及使用流的“原始模式”并肯定会根据 0x0c 检查按下的字符。
-
是的,一般情况下,除非您按回车键或写一个换行符,否则 process.stdin 流的“数据”事件不会触发...不确定如何在那里捕获它
标签: node.js terminal signals stdout