Usando joysticks em jogos que não possuem opção para utilizá-lo no Linux

Já pensou em utilizar o joystick em jogos que não o suportam? Pois este tutorial tem como missão ensinar a utilizar o joystick em qualquer jogo no Linux.

[ Hits: 18.646 ]

Por: Perfil removido em 16/12/2008


Introdução



Você já deve ter se deparado com jogos que não permitem utilizar joysticks, mas você gostaria de poder utilizá-los com o seu joystick. Saiba que é possível utilizar o seu joystick em qualquer jogo no seu sistema operacional Linux.

O programa que permite fazer isto é o xjoypad, e você pode configurar através deste programa o seu joystick para efetuar ações como se estivesse utilizando o teclado. Por exemplo, ao pressionar o botão A do joystick será como se a tecla CTRL do teclado fosse pressionada.

Instalação e configuração

Baixe o seguinte pacote: download xjoypad.zip

Extraia o conteúdo do pacote com a ferramenta de compactação de sua distribuição (ark, file-roller, xarchiver) para qualquer pasta em seu computador.

Após a extração é necessário entrar na pasta xjoypad e marcar como executável o arquivo xjoypad. Para marcar um arquivo como executável utilize o comando "chmod +x arquivo" ou utilize o diálogo "Propriedades" do seu gerenciador de arquivos.

Pronto, já está instalado! Vamos agora à configuração.

Configuração do xjoypad

O xjoypad é um utilitário de linha de comando, e para utilizá-lo é necessário repassar alguns argumentos como as keycodes das teclas que se deseja utilizar com o joystick.

Exemplo de sintaxe para o xjoypad:

xjoypad -display $DISPLAY -device /dev/input/js0 -up 98 -down 104 -left 100 -right 102 -buttons 65

Neste exemplo o xjoypad vai utilizar a tela padrão do sistema, definida na variável do sistema $DISPLAY, vai fazer o uso do joystick presente em /dev/input/js0 e vai utilizar as setas do teclado para os botões UP DOWN LEFT e RIGHT, além de utilizar o botão A para a tecla ESPAÇO.

É recomendável criar um script com as opções para cada jogo que se deseja executar.

Exemplo de script criado para executar o jogo xgalaga:

#!/bin/sh
./xjoypad -verbose -up 98 -down 104 -left 100 -right 102 -buttons 65 &
xgalaga
killall xjoypad
Linux: XGalaga
Este script lança o xjoypad com os argumentos necessários para mapear as teclas do jogo xgalaga, em seguida executa o jogo e aguarda o término do jogo para matar o processo do xjoypad.

Para executar o script é necessário torná-lo executável, utilize o comando "chmod +x script" ou o diálogo Propriedades no gerenciador de arquivos para efetuar esta tarefa.

Mapeamento de teclas

Para que o xjoypad funcione corretamente com os seus jogos é necessário mapear as teclas utilizadas pelo jogo e definir as keycodes no xjoypad.

Primeiramente execute o jogo e tente descobrir as teclas que ele utiliza, feito isto abra um terminal e execute o comando:

xev

Pressione a tecla que você deseja mapear. Se você pressionar a tecla CTRL haverá o seguinte resultado no terminal:

KeyPress event, serial 31, synthetic NO, window 0x2800001,
root 0x1a6, subw 0x0, time 3764316, (26,139), root:(865,163),
state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

O keycode que você precisa saber é 37, veja a parte destacada acima.

Se o jogo utiliza a tecla CTRL para efetuar uma ação, você pode associar à um botão do joystick da seguinte maneira:

xjoypad -verbose -up 98 -down 104 -left 100 -right 102 -buttons 65 37 (...)

Sintaxe do comando xjoypad:

xjoypad [-display display] [-devicefilename filename] [-verbose] [-up keycode] [-down keycode] [-left keycode] [-right keycode] [-buttons keycode keycode ...] [-turbo button]

Lembre-se de sempre definir as keycodes das teclas utilizadas pelo jogo.

Só para lembrar, um script pode ser sempre a melhor maneira de salvar a configuração para cada jogo que for executar.

Boa diversão!

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Instalando o Macromedia Flash MX no Debian

Configure seu modem SmartAx MT810 no Ubuntu

Instalação do Nessus 3.0

Criando uma aplicação que mostra os processos em execução

Conceito OOP no Java

Leitura recomendada

Hippo Viewer: Cliente para acesso a mundos virtuais

Emulando o saudoso jogo ELITE em seu Linux

Jogos para Linux (parte 5)

Como fazer um viciante e cativante servidor de Quake2 CTF

Unreal Tournament 2003

  
Comentários
[1] Comentário enviado por removido em 16/12/2008 - 17:53h

bem legal ...

[2] Comentário enviado por rogerboff em 16/12/2008 - 20:47h

Legal a sua dica... mas já pensei em outra utilidade para ela.... hhehehehehe

Abraços

[3] Comentário enviado por jborda em 17/12/2008 - 08:45h

Filé heim...

[4] Comentário enviado por andersontm em 17/12/2008 - 10:06h

Show!! tenho um controle USB-dual igual ao de PlayStation nesse funciona tb?
Abraço!

[5] Comentário enviado por removido em 17/12/2008 - 15:37h

Obrigado pela ajuda

[6] Comentário enviado por GilsonDeElt em 20/12/2008 - 18:53h

cara, valeu pela dica
assim que eu arranjar um joystick, eu vou aplicá-la
;-)
flw

[7] Comentário enviado por thalys_01 em 23/05/2009 - 12:58h

eu gostei da guele game gue vc colocou o pokemon goldensky meu pokemon esta no nivel 52 e meu tokepi esta no nv 20 mas o meu wior

[8] Comentário enviado por vinipsmaker em 09/11/2010 - 21:26h

e o link para download do xjoypad.zip não está mais funcionando, achei esse aqui e resolvi compartilhar:
http://download.ammoq.com/


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts