OSXプログラミングをしていて、Control-F4 といったキーボードショートカットのキーシーケンスをアプリで生成したいのですが、CGEventCreateKeyboardEventCGEventPost を使ってもうまくいきません。CGPostKeyboardEvent を使って同様のキーストロークを発生した場合にはうまく動きました。しかしながら、CGPostKeyboardEvent は deprecated になってしまったので、別の方法をさがしています。

CGPostKeyboardEvent((CGCharCode)0, (CGKeyCode)118/*F4*/, true); // worked

CGEventPost(kCGHIDEventTap, CGEventCreateKeyboardEvent(NULL, (CGKeyCode)118/*F4*/, true)); // doesn't work

どのようにすれば、CGPostKeyboardEvent のようにキーボードショートカットのアプリでの実行ができるようになるかお教えいただけると幸いです。こういった、システムにかかわるキーボードショートカットを発行できてしまうことが、CGPostKeyboardEvent が deprecated になってしまった理由ではないかと思わなくもないのですが…