PDA

Ver la Versión Completa : Capturar los nombres de los joysticks instalados.


kotai
16-03-2004, 14:59:07
¿ Como puede obtener el nombre de los joysticks que tengo instalados en windows ?

Puedo leer los parámetros con la llamada al API "joyGetDevCaps" que me devuelve :

The JOYCAPS structure contains information about the joystick capabilities.
typedef struct {
WORD wMid;
WORD wPid;
CHAR szPname[MAXPNAMELEN];
UINT wXmin;
..............


pero en "szPname" no pone el nombre del joystick, si no el nombre del driver de microsoft que controla los joystick.

Me he vuelto loco buscando por todas partes, pero no encuentro ninguna función que devuelva el nombre, y en el registro de windows tampoco está.

Lo quiero para un juego que estoy haciendo en delphi: www.miniracingonline.com (http://www.miniracingonline.com)

Gracias.

MaxiDucoli
05-08-2019, 00:24:19
Yo para hacer eso usé el TJVHIDDeviceController y en Enumerate fui capturando los nombres.
Si PUsage era igual a 4 o 5 (4 JoyPad 5 GamePad) y el ProductName era <> '', entonces capturaba el nombre.

Estoy teniendo muchos problemas a la hora de usar los Joysticks por que no obtengo los resultados adecuados.
Cómo hacés vos?

Por que de la manera que yo hice después no me conincidían los PORTS de los Joys con su correspondiente ID.

No entiendo muy bien como hacer y capaz nos podamos ayudar.

Ah!!!!!
Lo que te dije que usé está todo ahí en el mismo procedure OnEnumerate (HidDev para las propiedades y en el JvHIDDeviceController1 (el control que agregas al Form) para algunas otras cosas.


Si podés y no te es mucha molestia, me vendría bien un código para hacer andar 4 Joysticks y saber qué puerto es cuando presiono algún botón de cualquier Joystick.


Te dejo mi código (Está muy desprolijo por que solo fue para hacer pruebas y la verdad que me re cansé de hacer miles y miles de pruebas de todo tipo y nada....)

https://mega.nz/#!FZlQ1ATJ!uDpxLmPqRWFD8UKy01FoZdrC1RVAy766-9xeAg7bD20

Muchas gracias!!!!!

kotai
13-08-2019, 10:46:23
Yo finalmente acabé usando las librerías SLD2 que tiene sus propias llamadas para el joystick.

www.libsdl.org

Saludos