I realize that the k_context_menu.e worked because I had a modified version of the mouse.e file. Not sure if it can be modified the same way for 2014:
// HS2-ADD: x,y opt. args
_command void context_menu(int x = MAXINT, int y = MAXINT) name_info(','VSARG2_MARK|VSARG2_READ_ONLY|VSARG2_REQUIRES_EDITORCTL|VSARG2_ICON|VSARG2_NOEXIT_SCROLL)
{
if (x == MAXINT) x = p_client_width intdiv 2;
if (y == MAXINT) x = p_client_height intdiv 2;
_mou_mode_menu(x,y);
}
// HS2-ADD: mx,my opt. args
static void _mou_menu(_str mark_type, int mx = MAXINT, int my = MAXINT)
{
gInMouseMoveHandler=true;
if (command_state()) {
call_event(defeventtab _ul2_textbox,RBUTTON_DOWN,'e');
gInMouseMoveHandler=false;
return;
}
// HS2-CHG: use mouse pos by default if mx,my aren't specified by caller
if (mx == MAXINT) mx=mou_last_x();
if (my == MAXINT) my=mou_last_y();