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
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!