Mac os终端:终端窗口中的可点击文本(c可执行文件)

问题描述 投票:0回答:1

我正在尝试从mac os终端中的用户请求输入。我的程序是用c编写的,我希望有一个可点击的文本,允许用户点击是或否让我的c程序执行或不执行某个动作/功能。

我想举例来看:

您想验证您的电子邮件吗? [是] [否]

然后我将能够单击是或否(所以基本上是/否是文本像按钮一样)。

我没有找到任何可以回答我的问题的问题。也许有一些mac os特定功能实现,我可以在我的c程序中调用。

非常感谢您的帮助!

c macos terminal
1个回答
1
投票

部分答案

要在终端中获得鼠标单击,您必须在Cmd-R的Terminal.app中启用“鼠标报告”。 (如果您不想依赖它,可以从Terminal.app中启动xterm。)

然后,您可以使用此序列将鼠标点击转换为击键:

echo -e "\033[?1000h"

只需发出它,然后单击终端窗口。要再次禁用它,请使用:

echo -e "\033[?1000l"

这个CSI序列有这样的格式:ESC [?数字l / h

更多细节可以在这里找到:XTerm Control Sequences

请注意,Terminal.app不支持每个xterm功能。

用于启用的Quick'n'dirty C代码:

#include <unistd.h>
#define MR "\033[?1000h"
int main() { write(1,MR,sizeof(MR)-1);return 0;}

“鼠标击键”可以从STDIN读取为其他击键。

替代解决方案方法

除了C,您还可以使用AppleScript。

© www.soinside.com 2019 - 2024. All rights reserved.