Configuração do gamepad ignorada pelos jogos

4

Recentemente, adquiri um gamepad XBox 360 com fio (USB). Foi quase plug-and-play no meu laptop rodando o Ubuntu 12.04. No entanto, alguns eixos de controle foram misturados. Eu usei o jstest-gtk para reconfigurar o mapeamento e o jscal-store para (supostamente) salvar a nova configuração. No entanto, quando eu executo Xonotic ou Nexuiz (First Person Shooters), eles ainda usam o mapeamento original misturado. Como faço para que esses jogos reconheçam a nova configuração? BTW, eu estou mais preocupado com o trabalho Xonotic, eu realmente não poderia me importar menos sobre Nexuiz. Por favor, não há reclamações sobre por que eu deveria ficar com um mouse e teclado para jogos. [:-) Agradecemos antecipadamente.

    
por Symba 26.06.2012 / 02:40

2 respostas

4

O problema é que o jstest-gtk apenas altera o mapeamento do dispositivo joystick, ou seja, /dev/input/js0 . A maioria dos jogos modernos que usam o SDL, no entanto, não usam mais o dispositivo de joystick, mas usam o evdev bruto, ou seja, / dev / input / eventX e isso não permite nenhum remapeamento.

A solução mais rápida é definir uma variável de ambiente:

export SDL_JOYSTICK_DEVICE=/dev/input/js0

Isso forçará os aplicativos baseados em SDL a usarem o antigo dispositivo de joystick e, portanto, respeitarem o mapeamento. Não ajudará com aplicativos não-SDL.

Outra alternativa é xboxdrv , é um driver Xbox360 do userspace que permite uma ampla variedade de opções de configuração no driver nível (incluindo emulação de teclado e mouse). Isso funcionará para todos os jogos.

    
por Grumbel 27.06.2012 / 12:12
1

Nas configurações avançadas do Xonotic, existem duas variáveis: joy_axispitch e joy_axisyaw , que devem ser alteradas. Infelizmente, o Xonotic redefine o padrão quando você fecha o jogo. O que eu fiz para consertar isso foi no diretório /home/username/.xonotic/data eu adicionei um arquivo que eu chamei de "config-mods.cfg". Neste arquivo há duas linhas:
"joy_axispitch" "4"
"joy_axisyaw" "3"

Finalmente fiz um script de shell simples com estas duas linhas de código:
cat /home/username/.xonotic/data/config-mods.cfg >> /home/username/.xonotic/data/config.cfg

/home/username/Applications/Xonotic/xonotic-linux64-sdl -basedir  /home/username/Applications/Xonotic/'

Eu corro este script em vez de rodar o jogo diretamente, e ele adiciona as duas linhas que eu preciso para suporte ao joystick.

    
por Symba 27.06.2012 / 02:13

Tags