На днях попал мне в руки джойстик от фирмы 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
jscalibrator
вJoystick Calibrator можно хорошо проверить и откалибровать все функции вашего джойстика (жаль вибро не проверишь :( ), а также можно посмотреть необходимуюинфу по вашему джойстику. К сожалению, прога написана с использованием старой версии GTK, что хорошо видно из скриншотов, ну да ладно, это терпимо :)
Joystick Calibrator в действии.
5. В принципе джойстик уже можно спокойно использовать в играх, которые его поддерживают, хотя у меня таких толком и не оказалось, ну разве что в tuxracer и AstroMenace опробовал клавиши.
Вообще, большинство людей использующих джойстик в линуксе, используют его для игр на эмуляторах приставок, но так как я не фанат таких игр, по этому поводу ничего толкового рассказать вам не могу. Больше по этому вопросу. вы можете почитать на форумах forum.ubuntu.ru и ubuntuforums.org.
6. Ну и на последок, я решил приспособить джойстик для тех игр, которые его не поддерживают, для этого я действиям джойстика назначил нажатия на клавиши клавиатуры. Для этого существуют несколько программ (их наверняка больше, это только те 3, которые попались мне):
joy2key - консольная программа, сам не проверял, но на первый взгляд сложно понять как ей пользоваться.
rejoystick - не плохая и простая в использовании программа для назначения клавиш, но у некоторых джойстиков не всегда корректно переназначает действия крестовины и рычажков-джойстиков.
qjoypad - одна из лучших программ для назначения клавиш, при чем в отличии от rejoystick дает возможность назначать не только значения клавиш клавиатуры, но и движение и нажатие клавиш мыши, что в некоторых случаях очень удобно.
7. Все, теперь вы можете смело приниматься за прохождение любимых игр с помощью вашего джойстика. Так же не забывайте, что после назначения клавиш, вы вообще можете использовать джойстик как пульт, например, да и вообще использовать его как захотите и в каких захотите программах, все зависит только от вашей фантазии ))
10 коммент.:
А теперь список игр с поддержкой вибро в linux...
вот-вот. может есть аналоги ИЛ-2 или Лок он?
а если js0 не существует в системе, что делать?
kubuntu 8.10
2 Sergey
... /dev/input/js0 - мой джойстик, у вас, соответственно может отличаться ...
а может быть такое что его там нет вообще? в папке input есть event[0-6], я их пробовал но ничего
sudo jscal /dev/input/event1
jscal: error getting version: Invalid argument
2 Sergey
Скорее всего у вас система вообще не определяет ваш джойстик, посмотрите, что у вас пишется в dmesg, когда подключаете джойстик?
Здесь много всякой инфы, вот что-то похожее может быть нашел [ 22.318455] gameport: EMU10K1 is pci0000:01:08.1/gameport0, io 0xc400, speed 59659kHz
то или не то? что тут посмотреть надо?
2 Sergey
ну попробуй применять то что написано в статье, только для gameport0, но я не уверен сработает ли, просто на практике еще не приходилось сталкиваться с gameport0
чтоб появилось /dev/input/js0 или /dev/js0:
modprobe joydev
modprobe ns558
modprobe analog
эти модуле можете найти в папке modules/input
вводить при каждой загрузке или написать скрипт в автозапуске!
Спасибо, теперь появился. Буду настраивать дальше...