Paso 5: Código completo!
! = 0 & & palmN.getZ()! = 0) {si (palmN.getY() <-.1 & & palmN.getZ() >-. 8) {si (currentMouseY < = 8) {robot.keyPress(KeyEvent.VK_WINDOWS); robot.keyPress(KeyEvent.VK_UP); robot.keyRelease(KeyEvent.VK_WINDOWS); robot.keyRelease(KeyEvent.VK_UP);} else {si (screenWidth - currentMouseX < = 12) {robot.keyPress(KeyEvent.VK_WINDOWS); robot.keyPress(KeyEvent.VK_RIGHT); robot.keyRelease(KeyEvent.VK_WINDOWS); robot.keyRelease(KeyEvent.VK_RIGHT);} else if (currentMouseX < = 12) {robot.keyPress(KeyEvent.VK_WINDOWS); robot.keyPress(KeyEvent.VK_LEFT); robot.keyRelease(KeyEvent.VK_WINDOWS); robot.keyRelease(KeyEvent.VK_LEFT);}}} else {System.out.println ("Normal : X: "+ palmN.getX() +", Y:"+ palmN.getY() +", Z:"+ palmN.getZ()); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_SPACE); robot.keyRelease(KeyEvent.VK_SPACE); robot.keyRelease(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_N); robot.keyRelease(KeyEvent.VK_N); }}}} < /p >< p > Si (! isMoving & &! isResizing) {si (palmN.getY() <-.8 & & palmN.getZ() >-. 5) {wasFacingDown = true; wasTabbing = false; if (wasInTabState) {robot.keyPress(KeyEvent.VK_ENTER); robot.keyRelease(KeyEvent.VK_ENTER); wasInTabState = false;}} else if (palmN.getY() > =.8 & & wasFacingDown & &! wasInTabState) {System.out.println ("Alt de tabulación"); wasFacingDown = false; wasInTabState = true; < /p >< p > wasTabbing = false; robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_TAB); robot.delay(100); robot.keyRelease(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_ALT); try {Runtime.getRuntime () .exec ("cmd /c start" + "C:\\WindowSwitcher.lnk");} catch (IOException e) {/ / TODO Auto-generated catch bloque e.printStackTrace();} robot.delay(300); } else if (wasInTabState & &! wasFacingDown & &! wasTabbing & & palmN.getY() <.45) {< /p >< p > wasTabbing = true;} else if (wasInTabState & &! wasFacingDown & & wasTabbing & & palmN.getY() >.75) {robot.keyPress(KeyEvent.VK_TAB); robot.keyRelease(KeyEvent.VK_TAB); wasTabbing = false;}} < /p >< p > / * * Si (! isMoving & &! wasInTabState) {/ * if(palmN.getZ() < =-.7 & & * rightHand.grabStrength() <. 1) {* System.out.println ("velocidad vertical de la palma:" + * rightHand.palmVelocity().getY()); Float resultVerticalV = * Math.round(Math.abs(rightHand.palmVelocity().getY()) - 1); * //if (resultVerticalV > 0) {robot.mouseWheel((int) * Math.round(((rightHand.palmVelocity().getY()) / 500))); / /} *} else {* / < /p >< p > Si (! isMoving & &! wasInTabState & & frame.gestures().count() > 0 & & frame.hands().count() == 1 & &! isResizing) {CircleGesture circleGesture = CircleGesture nuevo (marco.gestures().get(0)); / / System.out.println ("pizca fuerza:" + / / rightHand.pinchStrength()); Si (circleGesture.durationSeconds() > 5 & &! justCircleGestured & & rightHand.pinchStrength() >.8) {System.out.println ("cerrado una ventana!"); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_F4); robot.keyRelease(KeyEvent.VK_F4); robot.keyRelease(KeyEvent.VK_ALT); justCircleGestured = true;}} Else {justCircleGestured = false;} < /p >< p > flotador xSpeed = (palmV.getX() / 6); flotador ySpeed = (palmV.getY() / 6); System.out.println ("xSpeed:" + xSpeed + ", ySpeed:" + ySpeed); robot.mouseMove((int) (currentMouseX + xSpeed), (int) (currentMouseY - ySpeed)) < /p >< p > / /}}}} < /p >