style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Manejando el puntero con el teclado

Manejar el Mouse con el teclado

Hace un tiempo que queria hacer esto, haci que decidi que hoy era el dia, miren como podemos usar las flechas de nuestro teclado para poder mover el puntero del mouse, ademas podremos dar clics.

Instrucciones

Flecha arriba ---> mueve 5 pixeles hacia arriba el puntero
Flecha abajo ---> mueve 5 pixeles hacia abajo el puntero
Flecha derecha ---> mueve 5 pixeles hacia la derecha
Flecha izquierda ---> mueve 5 pixeles hacia la izquierda
Enter ---> Da un clic
Escape ---> Finaliza la aplicación

Codigo

Clase Principal

package clases;

import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JDialog;

public class Principal extends JDialog{

 Robot r;
 int x=0;
 int y=0;
 
 public Principal(){
  try {
   r=new Robot();
  } catch (AWTException e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
  addKeyListener(new KeyListener(){

   @Override
   public void keyPressed(KeyEvent e) {
    x=MouseInfo.getPointerInfo().getLocation().x;
    y=MouseInfo.getPointerInfo().getLocation().y;
    if(e.getKeyCode()==KeyEvent.VK_DOWN){
     y+=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_UP){
     y-=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_LEFT){
     x-=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_RIGHT){
     x+=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_DOWN && e.getKeyCode()==KeyEvent.VK_LEFT){
     y+=5;
     x-=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_UP && e.getKeyCode()==KeyEvent.VK_LEFT){
     y-=5;
     x-=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_DOWN && e.getKeyCode()==KeyEvent.VK_RIGHT){
     y+=5;
     x+=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_UP && e.getKeyCode()==KeyEvent.VK_RIGHT){
     y-=5;
     x+=5;
    }
    if(e.getKeyCode()==KeyEvent.VK_ENTER){
     r.mousePress(InputEvent.BUTTON1_MASK);
     r.mouseRelease(InputEvent.BUTTON1_MASK);
     Principal.this.setVisible(true);
    }
    if(e.getKeyCode()==KeyEvent.VK_ESCAPE){
     System.exit(0);
    }
    r.mouseMove(x, y);
   }

   @Override
   public void keyReleased(KeyEvent e) {
    // TODO Auto-generated method stub
   
   }

   @Override
   public void keyTyped(KeyEvent e) {
    // TODO Auto-generated method stub
   
   }
   
  });
 }
 
 public static void main(String[] args) {
  Principal p=new Principal();
  p.setUndecorated(true);
  p.setVisible(true);
  p.setAlwaysOnTop(true);
 }

}

Descargar

Pueden descargar el proyecto completo desde aquí, se incluyen los archivos fuentes, el ejecutable y las imágenes que demuestran su funcionamiento.

Pueden visitarnos en Java Zone

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de rodrigo salado anaya

Qué bueno que ...

Qué bueno que te tomes el tiempo para compartir con nosotros tus conocimientos.
Felicidades m y buen aporte.

Sabes que estaría

Sabes que estaría interesante? Agregar el modificador Ctrl y con eso hacer el movimiento de ... no sé 100 pixeles a la vez y también que con otra tecla pudieras poner un "bookmark" de tal forma que luego al presionar un shortcut el mouse se fuera para allá...

:) :)

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">