Hola culd:
Disculpa que hasta ahora te contesto pero he estado un poco ocupado en el trabajo ya que viajo mucho. Según lo que mencionas, te comento.
El cuadro combinado no indica el nombre de fabrica de cada joystick como aparece en windows, si no lo siguiente:
*Joistick 3 4 Axes 12 Buttons (Joystick Microsoft Controler)
*Joistick 4 4 Axes 12 Buttons (Joystick Microsoft Controler)
Primero el nombre generico: Joystick, despues el numero de dispositivo que en tu caso son el 3 y 4, luego el numero de ejes (Axes) que para tus joystick son cuatro ejes, por darte un ejemplo la palanca ocupa 2, los otros dos podrian ser el control de altitud y/o mira. Por ultimo la cantidad de botones (Buttons) que en teoria deberían de tener 12 cada uno.
Lo que no muy entiendo es porque te los reconoce como dispositivos 3 y 4, esto ocurre solo si tienes conectados otros 2 y que por ejemplo estén conectados y funcionando antes de conectar tus joystick gemelos.
En el cuadro combinado aparece la tabla de dispositivos maximos que soporta tu PC, aunque no esten conectados, cuando uno los conecta y carga el drive, se posicionan desde el primero hasta llenar los espacios segun la cantidad de joystick conectados.
Ahora respecto al JoystickStatus donde aparece unknow podemos hacer lo siguiente:
En el codigo del modulo modJoystick puedes modificar la funcion JoyEst de la siguiente manera:
Public Function JoyEst(ByVal IDx As Long) As String
'Indentify the Joystick status.
Dim xRes As String
Select Case IDx
Case JOYERR_NOERROR
xRes = "Ready"
Case MMSYSERR_NODRIVER
xRes = "No device driver present"
Case MMSYSERR_INVALPARAM
xRes = "Invalid parameter passed"
Case JOYERR_PARMS
xRes = "Invalid ID"
Case JOYERR_NOCANDO
xRes = "Request not completed"
Case JOYERR_UNPLUGGED
xRes = "Unplugged"
Case Else
xRes = "Unknown"
End Select
JoyEst = "(" & xRes & ") " & IDx 'Cambio
End Function
Lo unico que se modifica es la penultima lina agregandole & IDx, con esto en JoystickStatus aparecera un numero al final. Necesito que lo copies por ahí y me lo envies.
Aparte enviame el listado de joysticks que aparecen en tu cuadro combinado desde el primero al ultimo. Para hacer esto conecta antes tus joystick y asegurate que windows los reconoce, inicia la aplicacion y tomas los datos. Intenta posicionarte en cada dispositivo del cuadro combinado e intenta activar botones o lo que sea de tus joysticks y me cuentas que pasa.
Puedes tomar una foto o un Printscreen o si puedes un video de lo que pasa, entre mas informacion me envies, de mejor manera te puedeo ayudar.
Atentamente
DrakerDG