我试图在Mac OS终端中请求用户输入。我的程序是用c编写的,我希望有可点击的文本,该文本允许用户单击“是”或“否”以使我的c程序执行或不执行某些动作/功能。
例如,我想看到类似的东西:
您想验证您的电子邮件吗? [是] [否]
然后,我将能够单击“是”或“否”(因此基本上是/否是文本就像按钮一样)。
我没有找到任何答案可以回答我的问题,在c中是否可行。也许我实现了某种特定于Mac OS的功能,可以在我的c程序中调用该功能。
非常感谢您的所有帮助!
答案 0 :(得分: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。