@tonicab La solucion es que tiene que estar en modo xinput para que se detecte como control de XBOX, o ser soportado por SDL, si es que el juego se programo con SDL. En cuyo caso, tiene que tener el soporte en algun lugar en el archivo gamecontrollerdb.txt. Desafortunadamente, algunos desarrolladores hacen static linking al compilar el juego y esta metido dentro de los archivos del juego y no cargan dinamicamente de archivo externo (algunos si). Se puede probar con una variable de entorno para que se cargue globalmente en cada juego que pueda, pero como dije, no todos los juegos estan programados bien.
El formato para hacer un mapeo es
030000004c050000c405000000010000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
Que es un GUID (030000004c050000c405000000010000), un nombre (PS4 Controller), Mapeo de botones y ejes (leftshoulder:b4) y la plataforma (platform:Mac OS X).
En el caso de FEZ, segun pcgamingwiki, su soporte esta via SDL, "XInput and DirectInput, via SDL_GameController"
Mac, como linux, los juegos en su mayoria usan SDL
para cargarla desde terminal ( el export puede ser opcional)
export SDL_GAMECONTROLLERCONFIG="/ruta/gamecontrollerdb.txt"
./Ejecutabledeljuego
Tambien podria ser el caso de que necesites una libreria de SDL (el dll / so) con el soporte en caso de que no sea compatible la que venia con el juego, pero nuevamente, no todos estan bien implementados y con todo y variable de entorno, no puedes cargarla.
Aca puedes leer como implementar en linux de manera global, es practicamente igual en mac (en windows tambien pero cambia la sintaxis y el lugar donde lo pones)
https://www.reddit.com/r/linux_gaming/c ... s_work_at/