2011-12-21 99 views
2

我是可可的新手。我正在開發一個shell應用程序的GUI。我正在使用AMShellWrapper類,它工作正常。發送擊鍵到shell應用程序?

問題是我的shell應用程序有一個對話框要求按鍵繼續。在這一點上我很迷茫。我試過CGEventCreateKeyboardEvent,但可能不是正確的方法。

任何人都知道我可以如何發送按鍵到由我的包裝器啓動的shell應用程序?

回答

1

您可以創建一個pty(4)僞終端來運行應用程序。這允許您的應用程序成爲運行「從站」程序(認爲是bash(1))的「主站」(認爲Terminal.app),並提供了控制從站的機制。

這是一個非常涉及的Unix編程領域;我強烈建議閱讀Advanced Programming in the Unix Environment, 2nd edition書的源代碼中pty.c程序的源代碼。 (如果與在book同伴章節閱讀源代碼將使一個很多更有意義。)

你可以可能使用pty.c程序不變,並提供一個「駕駛它來驅動你的客戶端程序,這將簡化任務。

+0

謝謝Samold。我會讀到它,似乎是一個難題。 – 2011-12-22 10:29:57