O gamepad de montagem automática em js1 em vez de js0

0


Eu quero montar automaticamente o meu pad em js1 quando o Ubuntu começa | a razão que eu quero fazer isso é que eu quero jogar liga de foguetes no vapor, e joystick montado como js1 é considerado o segundo, então eu só posso jogar usando como eu iria jogar com um amigo
Isso tudo é causado porque eu estou tentando enganar o driver do xbox pad para pensar que meu bloco também é um Xbox usando o comando

xboxdrv --evdev /dev/input/event19 --evdev-absmap ABS_HAT0X=x1,ABS_HAT0Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_Z=dpad_x,ABS_Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=b,BTN_TRIGGER=x,BTN_THUMB2=a,BTN_THUMB=y,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=rb,BTN_BASE2=rt,BTN_TOP2=lb,BTN_PINKIE=lt,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent &

Esse comando cria uma "cópia" do joystick como js1, então eu acho que se eu montar automaticamente o original na cópia js1 será criado em js0 e o jogo detectará este aqui

Eu quero mencionar, eu preciso fazer isso, caso contrário, meu joystick não é "visto" pela liga de foguetes, então eu preciso usar a versão xbox. Além disso, alguma opção para adicionar o comando que eu uso para fazer o controlador xbox falso para o Linux quando ele é inicializado? Eu notei que o número do evento eventualmente mudava (quando eu corri o primeiro bloco, ele tinha 19 anos e agora é 18), posso de alguma forma detectá-lo?

    
por Karol Szustakowski 16.09.2016 / 15:35

2 respostas

0

Ok, eu tenho a pergunta respondida, graças aos usuários do reddit também, eles me indicaram o caminho certo a seguir. Então, se qualquer um de vocês tiver o mesmo problema, o comando xboxdrv é 100% bom, mas jogos mais novos não usam a entrada de formato "js", eles usam "evento" então quando você corre a vapor você acabou de entrar
SDL_JOYSTICK_DEVICE = / dev / input / event20 (onde event20 é o número do evento
xboxdrv "emula", pode variar)
em vez de
SDL_JOYSTICK_DEVICE = / dev / input / js1 (isso também varia dependendo de quantos dispositivos de entrada você possui)

    
por Karol Szustakowski 17.09.2016 / 14:14
0

Outra abordagem é ocultar o js0 indesejado removendo todas as permissões dele.

O jogo não poderá abrir o js0 e usará o js1 como seu primeiro controle.

Essa abordagem pode lidar com o caso em que você tem vários controladores duplicados por software como xboxdrv.

    
por Gulkeme 17.09.2016 / 19:17