ct

    Usando Joysticks no Linux

    Dicas do Guia do Hardware

    Existem basicamente três tipos de joysticks para PC em uso: Os antigos joysticks analógicos, ligados na saída da placa de som, joysticks USB e joysticks artesanais, controles de Playstation ou Super Nes adaptados para serem ligados na porta paralela do micro. Aprenda a configurar cada uma das três categorias.Carlos E. Morimoto
    25/01/2005


    Existem basicamente três tipos de joysticks para PC em uso: Os antigos joysticks analógicos, ligados na saída da placa de som, joysticks USB e joysticks artesanais, controles de Playstation ou Super Nes adaptados para serem ligados na porta paralela do micro.

    A tendência é que os Joysticks USB caiam de preço, se popularizem e eliminem definitivamente os analógicos. Eles possuem algumas vantagens importantes: são mais precisos, não precisam ser calibrados e não degradam o desempenho da máquina ao serem usados.

    Os joysticks USB são também os que funcionam melhor no Linux. O joystick é detectado ao ser plugado na porta USB, graças ao hotplug que fica ativo por padrão no Kurumin e na grande maioria das distribuições atuais.

    Se estiver curioso, rode o comando "dmesg" e você verá uma entrada como esta, avisando da detecção do joystick:

    usb 1-2: new low speed USB device using address 6
    input: USB HID v1.10 Joystick [Logitech WingMan Precision USB] on usb-0000:00:1d.0-2

    No caso dos joysticks analógicos, não existe detecção automática, é preciso carregar o módulo que ativa o suporte ao joystick para que ele seja visto pelo sistema. No Kurumin você encontra um script que testa os módulos disponíveis até carregar o correto no menu "Jogos > Joystick > Habilitar joystick analógico ligado na placa de som".

    habilitar

    Você pode checar o joystick na seção Periféricos > Joystick do Centro de Controle do KDE. Ele inclui uma opção para calibrar o joystick, que só é necessária em joysticks analógicos.

    centro_de_controle

    A maioria dos games inclui suporte a Joysticks. Se o joystick funciona no módulo do painel de controle ele também funcionará nos programas. Se por acaso o joystick USB não foi detectado automaticamente, experimente reiniciar o hotplug com o comando:

    # service hotplug restart

    Para usar o joystick no Zsnes, vá em "Config > Input #1" e marque a opção "Keyb/Joystick" e clique em "Set". Agora é só definir a função de cada botão.

    O Generator não inclui a opção de configurar os botões, mas detecta o joystick automaticamente.

    Nem todos os games nativos oferecem suporte a joystick. O FrozemBubble e o Ltris por exemplo não oferecem nenhuma opção para usar o joystick, enquanto o Supertux e o Xgalaga o o ativam automaticamente.

    É possível também usar um joystick de Playstation ou Super Nes adaptado para ser ligado na porta paralela. Esta é a opção preferida por quem gosta de emuladores.

    Você já deve ter visto destes pra vender nos sites de leilão e até mesmo em algumas lojas de informática. Eles não são caros, em média uns 20 reais. Se você tiver um ferro de solda por aí, pode até mesmo tentar fazer o seu, seguindo as instruções desta página:

    Estes joysticks funcionam no Linux usando dois módulos de kernel, chamados jaydev e gamecom e o Xjoypad, um programinha que converte os sinais recebidos do joystick em teclas do teclado.

    Quando você pressionar o botão "X" do controle o sistema acha que você pressionou a tecla "3" do teclado numérico por exemplo. Ele é interessante pois pode ser usado não apenas nos emuladores mas também em qualquer jogo que utilize o teclado. Basta configurá-los para usar as teclas emuladas pelo controle.

    joystick

    A desvantagem de utilizar um joystick adaptado é que a utilização do processador é muito alta, pois ele precisa ficar monitorando os sinais recebidos na porta paralela. Mesmo num processador relativamente rápido, um Athlon de 1.5 GHz por exemplo, a diminuição do desempenho chega a 20% enquanto o joystick está em uso. Usando um joystick ligado na placa de som, a perda é bem menor, cerca de 3 a 5%, enquanto ao usar um joystick USB ela é próxima de zero, pois os sinais são processados pelo próprio joystick.

    O Kurumin já inclui o Xjoypad e um ícone mágico, que você encontra em "Jogos > Joystick > Habilitar joystick de PlayStation ligado na porta paralela" que cuida de tudo. Mas, se você precisar habilitar o joystick manualmente em outra distribuição, os passos são os seguintes:

    1- Ativar os módulos joydev e o gamecon que geralmente já vem nas distribuições. Antes de carregá-los você deve verificar também se os dispositivos do joystick já estão criados dentro do diretório /dev. A lista completa dos comandos é um pouco extensa então eu recomendo que você simplesmente faça um shell script e execute quando precisar.

    É bem simples, crie um arquivo de texto e cole os comandos dentro dele. Depois de salvar marque a permissão de execução nas propriedades do arquivo ou use o comando "chmod +x arquivo". A partir daí é só chamá-lo com o comando "./arquivo" para que todos os comandos sejam executados de uma vez só.

    cd /dev
    rm js*
    mkdir input
    mknod input/js0 c 13 0
    mknod input/js1 c 13 1
    mknod input/js2 c 13 2
    mknod input/js3 c 13 3
    ln -s input/js0 js0
    ln -s input/js1 js1
    ln -s input/js2 js2
    ln -s input/js3 js3
    mknod input/event0 c 13 64
    mknod input/event1 c 13 65
    mknod input/event2 c 13 66
    mknod input/event3 c 13 67

    sudo rmmod lp
    modprobe joydev
    modprobe gamecon map=0,7

    Se você estiver usando uma distribuição com o Kernel 2.4, o comando para carregar o módulo gamecom é: sudo modprobe gamecon gc=0,7 (o parâmetro "map" muda para "gc").

    2- Depois de ativar o joystick, falta ativar o Xjoypad. Você pode baixar o arquivo no: http://downloads-guiadohardware.net/xjoypad.zip

    Descompacte o arquivo (use o comando unzip se quiser fazer via terminal), acesse a nova pasta que será criada e copie o arquivo "xjoypad" para a pasta /usr/local/bin, assim ele se transformará num comando do sistema e você terá mais facilidade para chama-lo: cp xjoypad /usr/local/bin

    Feito isso você só preciso deixar o comando residente. Adicione mais este comando no seu script:

    # xjoypad -device /dev/js0 &




    Blog:

    Add to Google

    » Gostou do texto? Veja nossos livros impressos:
    Hardware | Redes | Servidores | Kurumin 7

    ... ou encontre o que procura usando a busca:

cb
Livros de Carlos E. Morimoto HOME