Obtener la posición del mouse en div desplazable

Otra pregunta que me ha estado picoteando en los últimos días. Como puede haber visto en mis otras preguntas, estoy creando un software de mapa mental. Entonces (extremadamente simplificado) tengo dos divs. Uno que es un cuadrado en la página, y otro dentro de ese div que es aproximadamente 10 veces más grande y arrastrable. Esto es para que los objetos puedan colocarse en la pantalla y luego moverse ligeramente hacia un lado mientras se agrega otro objeto, etc. Hago esto creando el div externo desplazable.

Sin embargo, los problemas que estoy teniendo tienen que ver con la posición del mouse en el script java. Si obtengo la posición del mouse en cualquier lugar del div, no será correcto, ya que compensaré el div interno por la mitad de su tamaño hacia arriba y hacia la izquierda (de manera efectiva, el usuario está mirando el centro del lienzo y puede ir de la forma que desee) . He probado decenas de diferentes funciones de coordenadas del mouse, pero ninguna de ellas parece funcionar. Un ejemplo que se supone que es un navegador cruzado que encontré en algún lugar de la web es:

function getMouse(e) {
  var posx;
  var posy;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY) {
    posx = e.pageX;
    posy = e.pageY;
  }
  else if (e.clientX || e.clientY) {
    posx = e.clientX + document.body.scrollLeft + document.getElementById("canvas").scrollLeft;
    posy = e.clientY + document.body.scrollTop  + document.getElementById("canvas").scrollTop;
  }
} //getMouse

Pero incluso esto no funciona. Estoy casi seguro de que el error se debe a que el div interno se puede arrastrar. Espero haber tenido algún sentido tratando de explicar, pero si no lo he hechoaquí hay un jsfiddle muy simple en un intento de demostrar la situación que tengo (aunque aquí no se hace clic con el mouse, solo para demostrar mi estructura div). En el producto que estoy haciendo, el usuario hará doble clic en el lienzo y aparecerá un nuevo objeto, y por lo tanto, las coordenadas del mouse deben ser correctas.

Espero que alguien pueda ayudarme.

Gracias por adelantado.

EDITAR: No pude mencionar que para parte de mi aplicación uso JQuery, por lo que una solución con o sin JQuery estaría bien. Gracias de nuevo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta