
Tengo un problema muy extraño en mi máquina Arch Linux. Bueno, lo he tenido durante un par de años, pero como no uso los joypads con mucha frecuencia, simplemente lo ignoré la primera vez. Es un problema muy extraño, así que lee atentamente.
Hace un tiempo intenté usar mi pad Xbox 360 para jugar algunos juegos antiguos de PSX en emuladores (no te preocupes, eran discos originales). Cuando intenté configurar el pad (usando el módulo del kernel xpad), el emulador (PCSX ejecutándose de forma nativa) seguía diciéndome que se mantenía presionado el gatillo derecho, por lo que la configuración de las otras teclas era imposible (ya que cada tecla que intenté configurar seguía siendo asignado al gatillo derecho).
Probé con otro emulador, ePSXe ejecutándose en Wine (y luego ePSXe nativo), y tuve el mismo problema. En este punto ya tenía muchas sospechas, estoy usando un controlador con cable Xbox 360 y un xpad originales que funcionan perfectamente y que usan todos los demás, ¿por qué no funcionaría? Sin embargo, no me di por vencido y probé soluciones alternativas, como el controlador de espacio de usuario xboxdrv. Sin suerte. Luego me di por vencido, ya que no quería perder el sueño por esto.
Recientemente compré un adaptador USB para controladores de PS2. Lo conecté, intenté configurarlo en el emus y... ¿qué? ¡Siguen diciéndome que se está presionando el botón R2 (que está en la misma posición que el gatillo derecho del controlador X360)! ¿Cuáles son las probabilidades de que dos controladores en pleno funcionamiento den el mismo problema al utilizar controladores y software diferentes? Al menos ahora está claro que no es el software del X360 pad ni del xpad ni del emulador.
Habiendo excluido a todos estos sospechosos, sólo se me ocurre una explicación, que sería que el módulo joypad del núcleo está estropeado. Pero nunca he tocado ningún archivo de configuración relacionado con los joypads y mi kernel es el kernel estándar de los repositorios de Arch Linux. ¿Puedes ayudarme con mi problema? He invertido mucho tiempo y dinero en este tema en particular.
¿Por qué detecta siempre la misma tecla (el disparador derecho/R2) incluso si esas teclas son técnicamente diferentes y provienen de diferentes joypads que usan diferentes controladores (aunque creo que xpad simplemente "traduce" la entrada para el módulo del joypad del núcleo)? Tenga en cuenta que las otras teclas funcionan correctamente, una vez logré asignarlas manualmente y todas y cada una de ellas funcionaron, siempre y cuando no asignara el disparador/R2 correcto a ninguna función.
¿Por qué esto no funcionaría para mí si no estoy usando un kernel modificado y nunca he tocado un archivo de configuración relacionado con el joypad? ¿Alquien más se ha encontrado con este problema? Ni siquiera sé qué escribir en el buscador. Muchas gracias por leer.
Respuesta1
Parece que podría haber un problema con los módulos xpad, pero solo porque es posible que no reconozca su(s) controlador(es), lo que hace que entre en modo "pad desconocido".
Puedes modificar el funcionamiento del módulo con tres parámetros:
+dpad_to_buttons: Asigne D-PAD a botones en lugar de ejes para pads desconocidos
+disparadores_a_botones: Asigna activadores a botones en lugar de ejes para pads desconocidos
+sticks_to_null: No asigne ningún stick a pads desconocidos
Al agregar/cambiar una línea en un archivo en/etc/modprobe.d, puede configurar/restablecer estos parámetros.
Crear un archivo en/etc/modprobe.d, DEBE terminar con '.conf', de lo contrario no será reconocido como un archivo de configuración.
En este archivo, coloque esta línea:
options xpad {option} [{option}...]
Agregue o elimine opciones según lo desee. Recomendaría comentar (#) la línea si no hay opciones en la lista, o simplemente elimine el archivo por completo.
Probablemente tendrás quemodmodelxpadmódulo, entoncessonda modpara recargarlo con las nuevas opciones.
Si las opciones no parecen ser reconocidas, es posible que deba ejecutardepmod -apara reconstruir las tablas de dependencia del módulo.
Puedes ver qué parámetros son válidos para un módulo con elinformación moddominio.