Introducci贸n a DirectInput con C#

Este art铆culo explica como utilizar DirectInput por medio de Managed DirectX utilizando el lenguaje C#.

El subsistema DirectInput

DirectInput es el componente de DirectX que se encarga de gestionar eficientemente los dispositivos de entrada, como puede ser teclados, mice, joysticks y otros dispositivos de entrada no convencionales utilizados para controlar aplicaciones.

Si bien es posible interactuar con los dispositivos de entrada por medio del API Win32, con DirectInput es posible hacerlo de modo m谩s r谩pido y eficiente. Adem谩s DirectInput ofrece ciertas capacidades no disponibles en el API Win32.

驴Por qu茅 usar DirectInput?

Ciertamente es posible tomar la entrada de teclado y mouse atendiendo los mensajes correspondientes que ingresan a nuestra aplicaci贸n. La siguiente figura es un esquema del flujo de datos, cl谩sico de Windows, que va desde el teclado a nuestra aplicaci贸n:

dinput-1

Figura 1. Manejo de mensajes del teclado

En la figura se puede observar que el c贸digo de tecla obtenido a partir del driver del teclado es colocado en una cola de mensajes, a partir de all铆 es distribuido a la cola de mensajes de la aplicaci贸n que corresponda y finalmente la aplicaci贸n procesa cada uno de los mensajes de su cola.

Windows se encarga adem谩s de generar mensajes del c贸digo de tecla mapeado a un caracter particular (mensajes WM_CHAR) en funci贸n del mapa de caracteres activo en la configuraci贸n general del sistema.

Managed DirectInput

En este art铆culo veremos como gestionar, mediante DirectInput, los dispositivos de entrada m谩s tradicionales (teclado, mouse y joystick) lo bueno es que el modo de controlar cada uno de ellos es realmente muy similar, podr铆amos establecer que s贸lo cambia el formato de la informaci贸n adquirida ya que naturalmente no es lo mismo un c贸digo de tecla presionada que el valor del eje de un joystick en un momento determinado.

DirectInput vs. Managed DirectInput

Managed DirectX es una interfaz a DirectX para lenguajes que utilicen .NET framework. En este tutorial veremos como gestionar dispositivos utilizando la interfaz Managed DirectInput, sin embargo los conceptos son los mismos y se aplican a la interfaz DirectInput convencional que se puede utilizar desde el lenguaje C++, en general s贸lo cambian los nombres de las clases, m茅todos y enumeradores simplificando un poco la programaci贸n.

Pages: 1 2 3 4 5

No comments yet. Be the first.

Leave a reply