Rather than using a mouse, I'm using a Leap Motion. It's a motion sensing device than allows fingers, hands, and gestures to be used rather than a mouse.
I have code that draws the points where the user's fingers intersect with the screen, so the user's fingers are represented by blue circles on the webpage (identical to this code: http://schnipz.github.io/leap-motion-demos/d3.js/index.html).
I also have a Force-Directed graph on the webpage, identical to this example: bl.ocks.org/mbostock/4062045
I would like to allow the user to "drag" a node when a finger (a blue circle) intersects with a node.
I'm able to get click simulation code working, but when I try to use X and Y positions such as...
function mouseSim(type, x, y)
{
var simulatedEvent = document.createEvent("MouseEvent");
simulatedEvent.initMouseEvent(type, true, true, window, 1,
x, y,
x, y, false,
false, false, false, 0/*left*/, null);
document.dispatchEvent(simulatedEvent);
console.log(type + " at " + x + ", " + y);
}
I get the desired console output, but no interaction with the graph happens.
Is it possible to use non-mouse, non-touch events to interact with a D3.js graph? If so, what is the most efficient way to go about it?