Full Mouse Control, caracteristicas.

Edito: Añado el vídeo donde muestro de forma rápida las características explicadas en este post

Como expliqué en posts anteriores, voy a realizar modificaciones al vnc viewer que está actualmente en desarrollo. Voy a tomar como punto de partida para implementar mis modificaciones la release 39, publicada el 31 de Enero de 2009 y el SDK de Android v.1.0 r2 para Linux. En un principio no voy a volver a actualizar ninguno de estos elementos salvo que lo vea absolutamente necesario, debido, a la cantidad de tiempo que esto puede llevarme. Aclarado esto voy a explicar mi primera modificación: El modo de visualización y manejo de escritorio  Full Mouse Control

Los modos de representación del escritorio esta explicados aquí. El método Full Mouse Control representa el escritorio a tamaño real y permite manejar el ratón del servidor (ordenador remoto) sin ninguna limitación de espacio o de funcionalidad.

  • Para realizar un movimiento de ratón, sin tener pulsada ningún botón de éste, basta con arrastrar nuestro dedo por la pantalla táctil. Es decir, si realizamos un movimiento en la pantalla, no realizaremos la acción de arrastrar, sino moveremos simplemente el puntero del ordenador remoto.
  • Si moviendo el dedo sobre la pantalla movemos el ratón, ¿como realizamos la acción de arrastrar?. Muy sencillo, si mantenemos pulsada una posición de la pantalla durante un segundo (sin movimiento, solo pulsación), nos aparecerá un mensaje del tipo: “Dragging Mode”; a partir de ese momento cuando movamos el ratón lo haremos como si tuviéramos el botón izquierdo pulsado.
  • El movimiento del ratón no está limitado a la parte de escritorio que vemos en la pantalla, si desplazamos el cursor hacia uno de los laterales de la pantalla, la parte visible del escritorio se desplazará en esa dirección, por lo que podemos abarcar toda la pantalla, por ejemplo con una selección, si es lo que deseamos.
  • Mandar un click del botón izquierdo consiste en una corta pulsación en la zona donde queramos realizarlo. Si queremos un doble click, es realizar dos pulsación, no hay problema.
  • Si lo que queremos es mandar una pulsación del botón derecho, situamos el cursor del ratón en la posición donde queramos hacerlo y pulsamos el botón central DPAD.
  • Los eventos de teclado, es decir las pulsaciones en el teclado qwerty se manda al ordenador remoto como tal.

Y ahora, la parte más técnica, ¿como he hecho esto?. Para empezar, los métodos nativos del cliente VNC (los que han desarrollado los programadores del Android VNC Viewer), implementan todos una interfaz desarrollada por Michael A. MacDonald para conseguir coherencia. En ella se especifican los métodos que han de ser implementados por cada implementación. Los métodos mas importantes son:

  • boolean onKeyDown(int keyCode, KeyEvent evt) : Se llama cada vez que se pulsa una tecla.
  • boolean onKeyUp(int keyCode, KeyEvent evt):  Se invoca cada vez que se suelta una tecla
  • boolean onTrackballEvent( MotionEvent evt):  Se utiliza en caso de que se quiera utilzar las teclas DPAD para mover le cursor
  • boolean onTouchEvent( MotionEvent evt): Se invoca cada vez que hay un evento tactil: bien que se pulse, se suelte y/o exista movimiento

No voy a entrar en la implementación de la interfaces en los distintos modos nativos, pero si quiero explicar con detenimiento el creado por mi, para mas información sobre los métodos nativos os remito a la web. (Si alguien tiene dudas, podría echarle una mano, teniendo en cuenta que no soy ningún experto, solo alguien que le ha echado horas:-))

Como el post me está quedando bastante largo y voy a comenzar ahora con la explicación de mi código voy a terminar esta entrada aquí para que nadie se aburra mas de la cuenta. En la siguiente entrada comentaré mi código.

Anuncios

One response to this post.

  1. […] 4 Febrero 2009 Full Mouse Control, código Posted by Pobla under Android, PFC | Etiquetas: Android, events, Full Mouse Control, PFC, VNC |   Para situarse leer antes: Full Mouse Control, caracteristicas […]

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: