すべてのイベントに「ショートカット」作成関数 (CGEventCreateScrollWheelEvent、CGEventCreateMouseEvent、CGEventCreateKeyboardEvent など) があるわけではないため、空のイベントを作成してから、CGEventSet* 関数を使用してフィールドを手動で設定する必要があります。
ジェスチャ関連のイベントには、Cocoa API レベルの公開定数しかありません。たとえば、NSLeftMouseDragged == kCGEventLeftMouseDragged == NX_LMOUSEDRAGGED == 6 の場合、NSEventTypeMagnify == 30 には同等の kCGEventMagnify または NX_MAGNIFY はありません。
また、ジェスチャ イベントが機能する方法には少し注意が必要です。マウス/トラックパッド イベント、ジェスチャ、ジェスチャの開始/終了、および特定のジェスチャ イベントの適切なシーケンスを送信しないと、機能しません。
各イベント タイプに必要なフィールドに関するドキュメントはあまりありません。最も簡単な方法は、最初にすべてをログに記録するイベント タップを作成し、次に必要なイベントを生成して、何がログに記録されるかを確認することです。実際、おそらく NSEvent グローバル モニターもログに記録する必要があります (NSEvent 自体とその下にある cgEvent の両方をログに記録します)。