Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.AWTException;
- import java.awt.Dimension;
- import java.awt.Robot;
- import java.awt.Toolkit;
- import java.util.Timer;
- import java.util.TimerTask;
- import com.leapmotion.leap.Controller;
- import com.leapmotion.leap.Finger;
- import com.leapmotion.leap.Frame;
- import com.leapmotion.leap.Vector;
- public class MouseMover
- {
- private Controller controller;
- private Robot robot;
- private MouseMover() throws AWTException
- {
- controller = new Controller();
- robot = new Robot();
- LeapTask task = new LeapTask();
- Timer timer = new Timer();
- timer.schedule(task, 0, 33);
- }
- public static void main(String[] args) throws AWTException
- {
- new MouseMover();
- }
- private class LeapTask extends TimerTask
- {
- private long lastFrame = 0;
- @Override
- public void run()
- {
- if (controller.isConnected())
- {
- Frame frame = controller.frame();
- if (frame.id() == lastFrame) return; //Nothing to be done
- Finger finger = frame.fingers().frontmost();
- if (finger.isValid())
- {
- Vector pos = finger.tipPosition();
- Vector dir = finger.direction();
- Vector onScreen = pos.plus(dir.times(-(pos.getZ()/dir.getZ())));
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- double x = (onScreen.getX() + 100)/250*screenSize.getWidth();
- double y = (200-(onScreen.getY() - 200))/200*screenSize.getHeight();
- robot.mouseMove((int)x, (int)y);
- //X: -200:200
- //Y: 100:400
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement