Поиск по блогу :

    вторник, 8 июля 2008 г.

    Настройка джойстика в Ubuntu

    На днях попал мне в руки джойстик от фирмы Logitech - Logitech RumblePad 2 USB. Не скрою, джойстик отличный, по крайней мере среди себе подобных. Что приятно удивило, что данный джойстик сразу прекрасно заработал в ubuntu i386, а вот в моей amd64 - не захотел, хотя это скорее всего моя вина, так как на машине с amd64 я уже столько экспериментировал, что этого вполне стоило ожидать )) Ну ниче, это дело поправимое.


    Приведенные ниже действия вполне подходят и для других моделей джойстиков, как Logitech, так и других производителей.

    Настройка, калибровка и назначение клавиш

    1. Устанавливаем набор консольных утилит для джойстика:
    $
    sudo apt-get install joystick

    2. После установки запускаем утилиту jscal
    $
    jscal -c /dev/input/js0

    где /dev/input/js0 - мой джойстик, у вас, соответственно может отличаться.
    После запуска jscal вам по порядку надо будет настроить оси движения ваших рычажков-джойстиков и крестовины. Когда вас будут просить сдвинуть рычажок на минимальное значение - пробуйте двигать рычажки-джойстики (к примеру это может быть левый рычажок-джойстик по оси x) до значения 0, если на максимальное то двигайте до значения 255, если установить по центру - то просто возвращаете рычажок-джойстик в центральное положение - значение 128. Когда настройка дойдет до крестовины, то здесь минимальное значение = -1, максимальное = 1 и центральное, соответственно = 0.

    3. Теперь проверим как вы настроили свой джойстик, запустим утилиту jstest:
    $
    jstest /dev/input/js0

    В появившейся таблице отображаются данные возвращаемые при нажатии на клавиши, крестовину или вращении рычажков-джойстиков. В принципе все интуитивно понятно, так что разберетесь.

    4. Теперь откалибруем наш джойстик, для этого установим и запустим программу jscalibrator:
    $ $
    sudo apt-get install jscalibrator
    jscalibrator

    вJoystick Calibrator можно хорошо проверить и откалибровать все функции вашего джойстика (жаль вибро не проверишь :( ), а также можно посмотреть необходимуюинфу по вашему джойстику. К сожалению, прога написана с использованием старой версии GTK, что хорошо видно из скриншотов, ну да ладно, это терпимо :)
    Joystick Calibrator в действии.
    5. В принципе джойстик уже можно спокойно использовать в играх, которые его поддерживают, хотя у меня таких толком и не оказалось, ну разве что в tuxracer и AstroMenace опробовал клавиши.
    Вообще, большинство людей использующих джойстик в линуксе, используют его для игр на эмуляторах приставок, но так как я не фанат таких игр, по этому поводу ничего толкового рассказать вам не могу. Больше по этому вопросу. вы можете почитать на форумах forum.ubuntu.ru и ubuntuforums.org.

    6. Ну и на последок, я решил приспособить джойстик для тех игр, которые его не поддерживают, для этого я действиям джойстика назначил нажатия на клавиши клавиатуры. Для этого существуют несколько программ (их наверняка больше, это только те 3, которые попались мне):
    joy2key - консольная программа, сам не проверял, но на первый взгляд сложно понять как ей пользоваться.
    rejoystick - не плохая и простая в использовании программа для назначения клавиш, но у некоторых джойстиков не всегда корректно переназначает действия крестовины и рычажков-джойстиков.
    qjoypad - одна из лучших программ для назначения клавиш, при чем в отличии от rejoystick дает возможность назначать не только значения клавиш клавиатуры, но и движение и нажатие клавиш мыши, что в некоторых случаях очень удобно.

    7. Все, теперь вы можете смело приниматься за прохождение любимых игр с помощью вашего джойстика. Так же не забывайте, что после назначения клавиш, вы вообще можете использовать джойстик как пульт, например, да и вообще использовать его как захотите и в каких захотите программах, все зависит только от вашей фантазии ))

    10 коммент.:

    vq комментирует...

    А теперь список игр с поддержкой вибро в linux...

    vortex комментирует...

    вот-вот. может есть аналоги ИЛ-2 или Лок он?

    Sergey комментирует...

    а если js0 не существует в системе, что делать?
    kubuntu 8.10

    Leolik комментирует...

    2 Sergey
    ... /dev/input/js0 - мой джойстик, у вас, соответственно может отличаться ...

    Sergey комментирует...

    а может быть такое что его там нет вообще? в папке input есть event[0-6], я их пробовал но ничего
    sudo jscal /dev/input/event1
    jscal: error getting version: Invalid argument

    Leolik комментирует...

    2 Sergey
    Скорее всего у вас система вообще не определяет ваш джойстик, посмотрите, что у вас пишется в dmesg, когда подключаете джойстик?

    Sergey комментирует...

    Здесь много всякой инфы, вот что-то похожее может быть нашел [ 22.318455] gameport: EMU10K1 is pci0000:01:08.1/gameport0, io 0xc400, speed 59659kHz
    то или не то? что тут посмотреть надо?

    Leolik комментирует...

    2 Sergey
    ну попробуй применять то что написано в статье, только для gameport0, но я не уверен сработает ли, просто на практике еще не приходилось сталкиваться с gameport0

    Семион комментирует...

    чтоб появилось /dev/input/js0 или /dev/js0:
    modprobe joydev
    modprobe ns558
    modprobe analog
    эти модуле можете найти в папке modules/input
    вводить при каждой загрузке или написать скрипт в автозапуске!

    Sergey комментирует...

    Спасибо, теперь появился. Буду настраивать дальше...

    Отправить комментарий