buenas...
utiliza el evento oncontextmenu. ese evento se inicia cuando el menú contextual se muestra, por cualquiera de los métodos posibles (al menos los que intente y conozco). para inhabilitar el menú nativo, simplemente cancelas el evento y muestra tu propio menú.
como dato extra... en html5 hay una API que te permite agregar nuevas opciones al menú contextual nativo del navegador. lo cual, es la forma más cómoda ya que no es obstrusivo. sin embargo, hay partes del html5 que aún no tienen soporte en los navegadores, incluso los populares.
http://davidwalsh.name/demo/html5-context-menu.php