Skif » 29.09.2013, 11:40
Для общения с джойстиком у него есть специальная dll-ка, работающая как драйвер USB . Прикручена для того, чтобы на всех джойстиках, грубо говоря, "газ" всегда был на оси Y, а свисток на кнопке 1. Т.е. автомаппинг органов управления. Это способ номер один. Но этим способом все управление будет нередактируемым и придется методом тыка искать, какая ось и кнопка джойстика на что влияет. Пользовательские кнопки (читай - управление скриптованными локами) этим способом работать не будет. Поддерживаются все оси и кнопки джойстика от Xbox и не более того.
Способ номер два. На просторах инета валяется такая вещь, как RW2 Joystick API. Это недоделанный какими-то ребятами функционал, аналогичный dll-библиотекам от известного всем Raildriver. Он опен-соурс, и если ты владеешь навыками програмирования, то сможешь переписать его под любое необходимое тебе число кнопок и осей джойстика, а также назначить их органам управления.
Способ номер 3 и 4. Если тебе нужен глубокий контроль, то нужно создать для игры СОБСТВЕННЫЙ локомотив, назначив на его контролы вместо клавиш клавиатуры кнопки и оси джойстика (они выбираются в редакторе блюпринта из выпадающего меню). Маппируется 6 осей и 20 кнопок. Управлять таким локомотивом с клавиатуры будет нельзя, зато на пульт можно вывести все, что угодно - от разобщительных кранов до выключалок дворников. Главное, уложиться в 6х20 сигналов. Есть подозрение, что можно подключить одновременно несколько джойстиков и тем самым, расширить функционал (в редакторе адресуются устройства от 1 до 4, 6 осей и 20 кнопок каждое).
Вывод данных из RW в консоль некие ребята делали (и оно даже работало, как мне показывали, считывалась вся таблица по F5, а этого более чем достаточно для оживления приборов пульта), но потом тема заглохла.