Una de las cosas divertidas del "estándar" HID es que lo debieron parir entre Jimmy Hendrixx, Jim Morrison, Janis Joplin, Amy Whinehouse y Kurt Kobain en una noche de farra de las que pasan a los anales de la historia. Es una pesadilla crear un HID, el programa que se usa es infernal y las posibilidades de error, altísimas.
El HID solo define cuantos botones analógicos y digitales tiene, si hay cruceta analógica y, en potencia, 300.000 cosas más, como los diferentes controles de un mando para un simulador de vuelo por ejemplo, pero no define *DONDE* están esos controles, solo sabes que en una posición del report que te envía el mando por USB hay un botón, cual de ellos es ya cae en lo místico.
Y para hacer sangre del asunto, añadir que además de los consabidos errores en el HID hay fabricantes que envían el HID mal adrede, o puede que el mando ni siquiera tenga HID. Los mandos de PS3 y PS4 llevan un HID mal y al mando Pro de la Switch hay que hacerle magia negra, con inicializaciones esotérico-festivas para conseguir que funcione "algo". No recuerdo si el mando de XBox One tenía HID, pero me parece recordar que tampoco valía pá ná. El de XBox 360 no he llegado a tocarlo. Hice los drivers de PS4, Xbox One y Switch Pro para la librería Circle y no sé si volvería a repetir la experiencia (demoníaco) religiosa.
Una solución que a mi me vale es el adaptador USB Magic NS de Mayflash. Maneja un montón de mandos diferentes y, según el modo, lo presenta como si fuera un DirectInput o cualquier otro. Los gamepads se pueden conectar por cable o por Bluetooth, y la verdad es que va muy bien y estoy satisfecho con la compra. A principios de año actualizaron el FW del cacharro para incluir manejo del gamepad de PS5.
Hay un pincho similar pero de 8bitdo, lo compré y no lo gasto. Para mi uso, el problema que tiene es que cuando el mando BT se desconecta, el pincho USB también se desconecta del bus USB, cosa que no hace el de Mayflash, con lo que éste último funciona de coña con la FPGA Mistica y con mi emulador de Spectrum, para el que también escribí un driver para la librería Circle.
El quilombo que montó M$ al pasar de DirectInput a XInput es para dedicarle una serie más larga que Juego de Tronos.
Gamepads en Linux y en general... desencantado...
-
- Amstrad PCW 8256
- Mensajes: 130
- Registrado: 04 Ene 2013, 16:43
- Sistema Favorito: Spectrum +2
- primer_sistema: ZX81
- consola_favorita: Nintendo DS/3DS
- Primera consola: Sega Genesis/Megadrive
- Ubicación: La orilla del mar Mediterráneo
- Gracias dadas: 16 veces
- Gracias recibidas: 39 veces
- Contactar:
Re: Gamepads en Linux y en general... desencantado...
Todo espacio de dimensión finita distinta de cero con producto interno tiene una base ortonormal. Tiene sentido, cuando no piensas sobre ello.
Profesor de Matemáticas U.C. Berkeley
Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator
Profesor de Matemáticas U.C. Berkeley
Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator
- cpcbegin
- MSX Turbo R
- Mensajes: 285
- Registrado: 31 May 2013, 05:32
- Sistema Favorito: Amstrad CPC
- primer_sistema: Amstrad CPC
- consola_favorita: (Otro)
- Primera consola: (Otro)
- Ubicación: Málaga
- Gracias dadas: 145 veces
- Gracias recibidas: 128 veces
- Contactar:
Re: Gamepads en Linux y en general... desencantado...
Echa un ojo a AntimicroX, con ese mapeador he llegado a jugar con mi mando Xiaomi hasta a juegos que solo soportan teclado.
Soporta perfiles para tener configuraciones diferentes para cada juego.
Soporta perfiles para tener configuraciones diferentes para cada juego.
- zup
- Amiga 2500
- Mensajes: 3012
- Registrado: 04 Sep 2009, 20:07
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo DS/3DS
- Primera consola: Nintendo GameBoy
- Ubicación: Navarra
- Gracias dadas: 86 veces
- Gracias recibidas: 356 veces
- Contactar:
Re: Gamepads en Linux y en general... desencantado...
ZX-81 escribió:Y para hacer sangre del asunto, añadir que además de los consabidos errores en el HID hay fabricantes que envían el HID mal adrede, o puede que el mando ni siquiera tenga HID.
Esa es nueva... yo con lo más que me he tropezado es con mandos chinorris que "reutilizan" IDs de USB (con lo que en Linux aparece listado como otro mando diferente).
ZX-81 escribió:No recuerdo si el mando de XBox One tenía HID, pero me parece recordar que tampoco valía pá ná. El de XBox 360 no he llegado a tocarlo.
Esa me la sé (por mirar el driver de Linux).
El mando de Xbox 360 se presenta como un dispositivo de clase "específica del fabricante" (255), subclase 93 y protocolo 1 (129 si es inalámbrico). El de Xbox One también es "específico" (255) pero de subclase 71 y protocolo 208. Ignoro si aceptarán comandos HID, pero el driver genérico HID nunca los "repescará" (solo acepta dispositivos de clase 3).
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!
Además vendo cosas!
- GXY
- Amiga 1200
- Mensajes: 1540
- Registrado: 05 Oct 2013, 08:21
- Sistema Favorito: Commodore Amiga
- primer_sistema: Spectrum +2
- consola_favorita: Sony PlayStation 1
- Primera consola: Sony PlayStation 1
- Gracias dadas: 42 veces
- Gracias recibidas: 141 veces
Re: Gamepads en Linux y en general... desencantado...
zup escribió:a) Como dicen en los vídeos que le gusta ver a mi mujer... "aquí no hacemos esas cosas".
agujeros de guion?

pd. el tema pads es un sindios porque cada fabricante hace lo que le sale de los cojones y al tema en windows nunca le han dado prioridad (y en linux va a remolque, claro

que los drivers o modos de comunicacion no describan posiciones fisicas de las cosas es LOGICO porque se trata de que soporte diversos mandos y cada uno es de su p... madre y su p... padre. en realidad el problema no es tanto la comunicacion (que si lo es, pero no para el 99,99% de mortales que no estamos en los creditos del kernel de linux

windows para detectar y probar los mandos sigue usando el mismo panel de configuracion que ya habia en windows XP, y me da que es aun mas antiguo.

bajo linux yo como solo los utilizo en distribuciones de emulacion, el tema queda resuelto con el panel de configuracion de emulation station. si lo reconoce lo reconoce, y ya el resto lo haces tu mapeandolo como te de la gana. se pierde algun boton por la historia del "hotkey" pero total, para emular consolas hasta 5gen no se necesita mas.

RetroPescando... 

¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados