Está en la página 1de 17

Visual Basic 6.

0
Tutorial Manejo del Joystick en Visual Basic 6.0
Descripción del archivo ejecutable del disco duro winmm.dll

Autor:

Ingeniero Electrónico: Monteza Zevallos Fidel Tomas

Diciembre de 2020 (Primera Edición)

V. J. M. J. / A. M. M. J.
Manejo del Joystick en Visual Basic 6.0

Función joyGetDevCaps
Declare Function joyGetDevCaps Lib "winmm.dll" Alias "joyGetDevCapsA" (ByVal id As Long, ByVal lpCaps As
JOYCAPS, ByVal uSize As Long) As Long

JoyGetDevCaps lee diversa información sobre el Joystick. La información que recibe la pone en la variable lpCaps. Sin embargo,
no da la posición del Joystick. Si el valor de esta función es 0 es que el Joystick está conectado. Cualquier otro resultado indica
que no hay instalado un Joystick.

Parámetros.
id - El Nº del Joystick para comenzar a leer, empezando desde el 0
lpCaps - Variable que recibe la información del Joystick.
uSize - Longitud en bytes de lpCaps

Ejemplo:
'Chequeo para ver sí el joystick esta funcionado.
Dim cap As JOYCAPS
x = joyGetDevCaps(0, cap, Len(cap))
If x = 0 Then Debug.Print "Joystick #1 encontrado"

Función GetNumDevs
Declare Function joyGetNumDevs Lib "winmm.dll" () As Long

Esta función retorna el Nº de Joysticks que están configurados en el panel de control. Esto no significa que todos ellos estén
conectados. Es preferible utilizar la anterior opción.

Ejemplo:
'Cuantos josticks tienes configurados
x = joyGetNumDevs()
Debug.Print "Tienes configurados "; x; "joysticks."
Función joyGetPos
Declare Function joyGetPos Lib "winmm.dll" (ByVal uJoyID As Long, pji As JOYINFO) As Long

Esta función retorna las coordenadas del Joystick, así como su status. Esta información se pasa a la variable pji. La función
retorna 0 si el Joystick está configurado, sino devuelve otro valor.

Parámetros.
uJoyID - El Nº del Joystick en el que se esta trabajando.
pji - Variable donde se encuentran el status y las coordenas del Joystick.

Ejemplo
Dim pos As JOYINFO
x = joyGetPos(0, pos)
Debug.Print "Coordinates:" pos.wXpos; pos.wYpos

A continuación, se presentan los registros para que se vean todas sus variables.

JOYINFO Type

Type JOYINFO
wXpos As Long
wYpos As Long
wZpos As Long
wButtons As Long
End Type

Este registro retorna las posiciones X, Y, Z y los botones pulsados del Joystick.
wXpos - Coordenada X
wYpos - Coordenada Y
wZpos - Cordenada Z
wButtons - Valor devuelto si se ha pulsado un botón, 1 para el botón #1, 2 para el botón #2, etc.
JOYCAPS Type

Type JOYCAPS
wMid As Integer
wPid As Integer
szPname As String * 32
wXmin As Long
wXmax As Long
wYmin As Long
wYmax As Long
wZmin As Long
wZmax As Long
wNumButtons As Long
wPeriodMin As Long
wPeriodMax As Long
End Type

Este registro devuelve información sobre el Joystick, NO devuelve las coordenadas. Normalmente, según adaptadores retorna
valores del Joystick (rangos) y número de botones.

WMid - ?
WPid - ?
szPname - Nombre del driver del joystick
wXmin - Coordenada X mínima.
wXmax - Coordenada X máxima.
wYmin - Coordenada Y mínima.
wYmax - Coordenada Y máxima.
wZmin - Coordenada Z mínima.
wZmax - Coordenada Z máxima.
wNumButtons - Nº de botones del joystick.
wPeriodMin - ?
wPeriodMax - ?
En las siguientes lineas se detalla la forma correcta de ubicar el archivo winmm.dll en el sistema operativo Windows 10 utilizado
para detectar y programar Joystick en el Programa Visual Basic 6.0

Figura (a)

Escribir en la caja inferior izquierda el nombre del archivo a buscar. En este caso winmm.dll. Se puede apreciar que el sistema
inmediatamente nos brinda tres opciones a elegir de las que elegimos Abrir ubicación de archivo.
Figura (b)

Una vez que elegimos Abrir ubicación de archivo. Podremos pasar a la siguiente ventana del sistema operativo Windows 10 donde
se ubica el mencionado archivo. Se le selecciona y oprimiendo el click derecho de su mouse seleccionaremos como abrir este
archivo.
Figura (c)

En esta ventana se le selecciona abrir este archivo con el programa Block de notas. Debemos recordar que este programa abre
cualquier tipo de archivo que en este caso esta desarrollado en un lenguaje de bajo nivel.
Figura (d)

Una vez que elegimos Abrir ubicación de archivo. Podremos visualizar todos los caracteres de la programacion que contiene el
archivo winmm.dll. Estos seran inintelegibles por la misma naturaleza del lenguaje de programacion de bajo nivel del archivo.
Figura (e) Ventana del Proyecto del Formulario
Figura (f) Ventana del Proyecto del Código - Cabecera de las líneas de la declaración de variables
Figura (g) Ventana del Proyecto del Código – Descripción de la zona de programación del Timer 1 donde el desplazamiento del
Joystick está representado por un punto
Figura (h) Ventana del Proyecto del Formulario operando en tiempo real representada por un punto
Figura (i) Ventana del Proyecto del Código – Descripción de la zona de programación del Timer 1 donde el desplazamiento del
Joystick está representado por unas líneas continuas
Figura (j) Ventana del Proyecto del Formulario operando en tiempo real representada por el grafico de la Variacion del Eje Y
(Cabeceo) color verde
Figura (k) Ventana del Proyecto del Formulario operando en tiempo real representada por el grafico de la Variación del Eje X
(Banqueo) color rojo
Figura (l) Ventana del Proyecto del Formulario operando en tiempo real representada por el grafico de la Variacion del Eje Y
(Cabeceo) color verde y Variación del Eje X (Banqueo) color rojo
Una palanca de mando o joystick (del inglés joy, alegría, y stick, palo) Es un periférico de entrada que consiste en una palanca
que gira sobre una base e informa su ángulo o dirección al dispositivo que está controlando.
Es el dispositivo de control principal en la cabina de vuelo de muchos aviones civiles y militares, ya sea como una palanca de
control central o una palanca de control lateral. Algunas palancas poseen interruptores suplementarios para controlar diversos
aspectos del vuelo de la aeronave.
Las palancas de mando también se usan para controlar videojuegos y generalmente tienen uno o más botones cuyo estado
también puede leer el computador. Una variación popular de la palanca de mando que se usa en las consolas de
videojuegos modernas es la palanca analógica.
Las palancas de mando también se utilizan para controlar máquinas como grúas, camiones, vehículos subacuáticos no tripulados,
sillas de ruedas, cámaras de vigilancia y cortacéspedes de giro cero.
Las palancas de mando miniatura accionados por el dedo se han adoptado como dispositivos de entrada para equipos electrónicos
más pequeños, como teléfonos móviles.

También podría gustarte