我是可可的新手。我正在为一个shell应用程序的GUI工作。我正在使用AMShellWrapper类,它工作正常。
问题是我的shell应用程序有一个对话框请求按键继续。我在这一点上很丢失。我已经尝试过CGEventCreateKeyboardEvent但可能不是正确的方法。
任何人都知道如何将键击发送到由我的包装器启动的shell应用程序?
答案 0 :(得分:1)
您可以创建一个pty(4)
伪终端来运行该应用程序。这允许您的应用程序成为运行“从属”程序(思考Terminal.app
)的“主”(思考bash(1)
)并提供控制从属的机制。
这是一个非常复杂的Unix编程领域;我强烈建议您阅读Advanced Programming in the Unix Environment, 2nd edition本书源代码中pty.c
程序的来源。 (如果使用book中的配套章节阅读,源代码会使 lot 更有意义。)
你可以 使用pty.c
程序不变,并提供一个“驱动程序”来驱动你的客户端程序,这将简化任务。