Но, в следствии тяжелого похмелья после вечера встреч с одноклассниками, меня хватило только на подключение джойстика к компьютеру и беглый обзор проблемы
Джойстик у меня такой: Logitech Freedom 2.4 Cordless Joystick.
Для подключения к Linux ничего особенного делать не пришлось. Включил его в USB и он вроде заработал. Но как проверить, что он действительно работает? Для этого используем утилиту jstest из пакета joystick (sudo apt-get install joystick), итак запускаем jstest /dev/input/js0 и видим, что все отлично работает. В нашем распоряжении есть 4 аналоговых оси, две оси с дискретным пределом и 10 кнопок. На что все это использовать
Итак, что удалось накопать по подключению джойстика к EMC2:
Первый вариант, подмена событий нажатия на кнопки джойстика нажатиями на соответствующие хоткеи средствами xorg. Для этого редактируем /etc/X11/xorg.conf, и добавляем примерно следующее:
Код: Выделить всё
Identifier "joystick"
Driver "joystick"
# proper path to your joypad could be found by looking into '/dev/input/by-id' directory
Option "Device" "/dev/input/event2"
# axis -X
Option "MapButton1" "key=Left"
# axis -Y
Option "MapButton2" "key=Down"
# axis +X
Option "MapButton3" "key=Right"
# axis +Y
Option "MapButton4" "key=Up"
# axis "step program"
Option "MapButton5" "key=t"
# axis "continus program"
Option "MapButton7" "key=s"
# axis -Z
Option "MapButton6" "key=Prior"
# axis +Z
Option "MapButton8" "key=Next"
# axis "continuos jogging"
Option "MapButton9" "key=c"
# axis "zero G54 offset on selected axis"
Option "MapButton10" "key=Shift_L,Home"
# axis "change jogging speed"
Option "MapAxis1" "mode=accelerated keylow=comma keyhigh=period"
# axis "change jogging step"
Option "MapAxis2" "mode=accelerated keylow=i, keyhigh=Shift_L,i"
EndSectionВторой вариант, настроить джойстик через hal. Для этого в hal есть специальная штука simulated encoder. При помощи нее будем обрабатывать команды с джойстика. Таким образом можно будет контролировать скорость перемещения и осуществлять плавные передвижения на любой скорости. Но подробнее об этом позже - когда разберусь и все настрою у себя
