control + 左クリックや右クリック以外のアクションでコンテクストメニューを表示させる方法。(CloCalXのダブルクリックでコンテクストメニューを表示させているのはこれ)
NSViewのサブクラスに数行のコードを書けば出来てしまうみたい。その表示させたいアクションの中で、
NSMenu* menu = [self menuForEvent:theEvent];
として、すでに実装されている(これは、コードで書いていても、nib上でつないでいても同じ)本来のコンテクストメニューをとってくる。それから、
[NSMenu popUpContextMenu:menu withEvent:theEvent forView:self];
とすれば、取得したメニューがコンテクストメニューとしてちゃんと表示されるのです。簡単簡単。