Como uso um gamepad?

16

Estou pensando em comprar um gamepad para jogar emuladores (como ZSNES) e li alguns artigos na rede relacionados a alguns gamepads que não funcionam no Linux, especialmente quando jogam no Wine. Mas isso apenas para o vinho, certo? Existem algumas perguntas em minha mente, como:

  1. Isso significa que todos os jogos nativos do Ubuntu funcionam bem com qualquer gamepads OU isso também possui gamepads específicos? que funcionam no Ubuntu (12.04).

  2. E se eu comprar um gamepad aleatório como Unofficial / Fake, ele será reconhecido como gamepad ou o Ubuntu o ignorará?

  3. Se for reconhecido, como vou encontrar os drivers apropriados necessários para usar o hardware? OU os drivers não serão necessários e eu posso começar a jogar logo após comprá-lo e conectá-lo?

Mohd Arafat Hossain
fonte

Respostas:

15

Todos os gamepads / joysticks (5 ou mais) que eu tentei até agora funcionaram. Para instalação, configuração qjoypadou jstest-gtk. Qjoypad funcionou melhor se bem me lembro.

turbo
fonte
Obrigado pela resposta. BTW, você pode dizer se o choque duplo funcionou?
Mohd Arafat Hossain
Eu não tentei isso, desculpe.
Turbo #
jstest-gtk funcionou muito bem com o meu Bluetooth emparelhado Ouya controlador :)
Baggers
10

Embora o turbo já tenha mencionado qjoypadmuito brevemente, vale a pena fornecer uma resposta mais longa, pois a versão mais recente (e melhor) precisa ser compilada, pois não está nos repositórios e, atualmente, também não há pacote disponível no site. Em segundo lugar, há gerais guias de blog mais velhos a respeito qjoypad, mas seria útil ter um um up-to-date para o Ubuntu.

Introdução

O que faço com Winee Dosboxquando há problemas com jogos e suporte ao controlador (que é na maioria das vezes) é usar um programa como o qjoypad . Este utilitário

Incorpora seus dispositivos de jogos em qualquer programa XWindows. O qjoyPad recebe informações de um gamepad ou joystick e as converte em toques nas teclas ou ações do mouse, permitindo controlar qualquer programa do XWindows com o seu controlador de jogo.

para que não importe se wineo jogo atual winesuporta o joypad, geralmente você poderá usá-lo.

Compilação

Instale as dependências (e build-essentialse necessário) com:

sudo apt-get install libxtst6 libxtst-dev libx11-dev checkinstall build-essential

Você precisará das bibliotecas QT para executar o programa e das bibliotecas QT dev para compilar qjoypad, conforme observado no site oficial , portanto, você também deve instalar todo o kit de desenvolvimento QT com

sudo apt-get install libqt4-dev

Isso é muito importante, pois você está usando as bibliotecas QT para criar a GUI.

Baixe a versão mais recente (atualmente 4.10) do Sourceforge e extraia-a com

tar xzvf qjoypad-4.1.0.tar.gz

Em seguida, cdpara essa pasta e depois cdpara a srcpasta e execute

./configure
make
sudo checkinstall --pkgname=qjoypad --pkgversion=4.1.0 --provides=qjoypad

Configuração

Agora conecte seu joystick ou gamepad e corra a partir do terminal qjoypad &ou selecione-o no menu do iniciador.

Quando você carrega qjoypad(captura de tela um), você vê os números dos botões, como o botão 1, o botão 2, etc. Se desejar ver o que eles correspondem no seu joystick, você pode instalar evteste executar evteste, em seguida, selecionar o número do dispositivo do seu gamepad para obtenha as seguintes informações:

Input device ID: bus 0x3 vendor 0x45e product 0x7 version 0x100
Input device name: "Microsoft® Microsoft® SideWinder® Game Pad USB"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 304 (BTN_A)
    Event code 305 (BTN_B)
    Event code 306 (BTN_C)
    Event code 307 (BTN_X)
    Event code 308 (BTN_Y)
    Event code 309 (BTN_Z)
    Event code 310 (BTN_TL)
    Event code 311 (BTN_TR)
    Event code 312 (BTN_TL2)
    Event code 313 (BTN_TR2)

A ordem dos botões aqui reflete isso qjoypad, então o botão 1 do qjoypad está BTN_Ano controlador, etc.

(Os layouts do seu joypad são armazenados ~/.qjoypad3se você deseja fazer backup deles.)

O leia-me no download com o código-fonte também possui algumas informações úteis sobre como configurar e executar qjoypad.

  1. Clique em adicionar para criar um novo perfil e nomeie-o e, em seguida, você pode atribuir todos os botões disponíveis, mas clique em atualizar para salvar suas configurações.

    captura de tela

  2. Você pode configurar totalmente todos os pontos do eixo, e o tipo de sidewinder e os dispositivos analógicos duplos parecem configuráveis. Mais detalhes estão disponíveis neste artigo e no leia-me útil incluído no download do código-fonte.

    captura de tela

Pensamentos finais

Qjoypadprecisa estar em execução (com o perfil correto do seu joypad selecionado) quando dosboxou wineé iniciado.

Você precisa definir as ligações do teclado primeiro no jogo em que deseja usar qjoypad. Muitas vezes, no seu próprio jogo, a configuração deve ser definida como teclado e não com joystick. Isto é o que eu encontrei com os Dosboxjogos, e provavelmente é o mesmo para os Winejogos. Tanto para jogos quanto para controlar qualquer programa em execução na janela X, qjoypadé um utilitário muito útil.

Pablo Bianchi
fonte
Importante - a porta USB que você usa PODE afetar a qualidade do sinal e, portanto, você pode obter uma calibração indesejada. Se você notar que seus números estão saltando quando os paus / teclado estão centralizados e você está usando um HUB USB, tente conectar-se diretamente aos plugues do painel traseiro ou traseiro. Isso pode ser especialmente verdadeiro para controladores sem fio sujeitos a ruído duas vezes. Eu verifiquei essa informação com 3 controladores diferentes e independentes em 4 máquinas. Cada um usando um hub e local diferentes. No hub: números se contorcer na faixa -300-300, na máquina: numberage exata (palavra?) --Important
osirisgothra
Faço tudo de bom até a marca e há erros ... o que posso fazer? collect2: error: ld retornou 1 status de saída - acho que se refere ao error.h: 8: 13 aviso QString, Qstring definido, mas não usado (ele também diz isso para void debug_mesg (...). Sou novo, apenas tentando usar um game pad ....
Alex
4

De um modo geral, todos os gamepads USB que seguem as especificações da HID funcionam no Linux sem a necessidade de drivers especiais, o que significa que praticamente todos os gamepads de PC normais funcionarão. No entanto, o suporte pode ser limitado a recursos básicos e coisas como o estrondo podem não ser suportadas.

Os gamepads de console como o Xbox360, o Wiimote ou o Dualshock também funcionarão no Linux, mas requerem algum trabalho adicional (por exemplo, drivers como qtsixa, cwiid, xpad ou xboxdrv).

Grumbel
fonte
0

Se você quiser tentar outro DEB ou APT:

pesquise qjoypad em http://www.ubuntuupdates.org/

e lembre-se de que a configuração só aparecerá se iniciada qjoypad --notraye clique com o botão esquerdo no ícone!

João
fonte