Меню

Драйвер ppjoy установка и настройка



Драйвер ppjoy установка и настройка

Administrator

Группа: Root Admin
Сообщений: 537
Регистрация: 5-December 07
Пользователь №: 1

Драйвер PPJoy. Установка и настройка.

PPJoy это универсальный freeware драйвер поддерживающий практически все интерфейсы (схемы) подключения джойстиков, а также PPM R/C передатчиков к параллельному порту.
Cкачать PPJoy
Я хочу более подробно остановиться на подключении R/C аппаратуры к компьютеру. Рассматривать будем установку на Windows XP. На Висте пока не тестил.

1) Делаем не сложный интерфейсный кабель на LPT. Распайку можно увидеть тут

2) Скачиваем и устанавливаем PPJoy.

3) Запускаем , нажимаем .

4) Выбираем в списке — Radio control TX, нажимаем

5) Виндовс обнаружит новый девайс и радостно запустят мастер нового оборудования. Выбираем установку из указанного места и указываем папку, куда разархивировали драйвер ppjoy. Внимательно изучаем предупреждение, что данное оборудование не тестировалось с XP, и смело продолжаем установку. После установки данного драйвера, система попросит установить . Устанавливаем, порядок действий прежний и не должен вызвать сложностей.

6) Лезем в BIOS выставляем настройки для параллельного порта:
Parallel Port Mode [Normal]
Parallel Port IRQ [IRQ5]
Если у вас в AMI Bios, или просто этих настроек там нет, то пропускаем этот пункт.

7) Пуск –> Панель управления –> Система –> Оборудование –> Диспетчер устройств.
Ищем , закладка , устанвливаем .

8) На всякий случай, перезагружаемся.

9) Опять запускаем , выбираем Mapping – Modify the mapping for this controller. Я настроил так:

Далее.

10) Через «Панель управления» калибруем новый джойстик. В симуляторе тоже не забываем откалибровать джойстик и настроить его на нужные каналы управления.

Обсудить и задать вопросы можно в разделе симуляторы

Источник

Универсальный мышеджойстик/мышетрекир/клавотрекир PPJoy + GlovPIE

Оглавление

Список файлов

Драйвер PPJoy для 32-битных систем: PPJoySetup-0.8.3.zip (размер 1.75 МБ)
Драйвер PPJoy для 64-битных систем: PPJoySetup-0-8-4-6.exe (размер 2.07 МБ)
Эмулятор GlovPIE для всех систем: GlovePIE045Free.zip (размер 2.52 МБ)
Код PIE-скрипта мышеджойстика для GlovPIE: MouseJoystickScript.pie (размер 44 КБ)
BAT-файл для автозапуска мышеджойстика: MouseJoystickAutorun.bat (размер 52 байта)

Описываемый ниже универсальный вариант мышеджойстика (эмуляция джойстика мышью), мышетрекира (эмуляция трекира мышью), триммируемого клавотрекира (эмуляция трекира клавиатурой) и триммируемого клаводжойстика (эмуляция джойстика клавиатурой) сводится к использованию универсального драйвера PPJoy (Parallel Port Joystick) вместе с универсальным программируемым эмулятором GlovPIE. Такая связка работает почти на всех системах и позволяет более гибко эмулировать как виртуальный джойстик (PPJoy + GlovPIE вместо PPJoy + PPMouse) с возможностью автоматического синхронного (параллельного по нескольким осям) или ручного раздельного (с последовательной фиксацией положения) управления ими одной мышью без педалей, так и виртуальный трекир (GlovPIE вместо NewView) с возможностью автоматического синхронного поворота и сдвига по нужным осям (для выглядывания в стороны). И виртуальный джойстиком, и виртуальным трекиром можно одновременно управлять и с помощью мыши, и с помощью клавиатуры, и с помощью скриптовой автоматики (можно не просто запоминать затриммированные положения любых осей, но и автоматически двигать их с обратной связью через игрока, который контролирует результат).

Ниже приведена подробная пошаговая инструкция, поскольку не у всех есть время и желание разбираться самостоятельно. Например, некоторые пытаются установить 32-битный драйвер на 64-битную ОС как обычную программу или забывают перевести Windows Vista/7/8 в «тестовый режим» для работы неподписанных драйверов (см. «Установка драйвера PPJoy для 64-битной ОС Windows Vista/7/8»), а другие не могут разобраться с программированием простейших скриптов для GlovPIE (см. «Эмуляция мышеджойстика/мышетрекира/клавотрекира с помощью GlovPIE»).

Возможности универсального драйвера PPJoy

Эмуляция до 16 виртуальных джойстиков (для системных приложений они видны списке подключенных джойстиков как вполне реальные), каждый из которых может иметь по 8 осей (с реальным разрешением по 32767 точек на ось), по 32 кнопок и по 2 хатки. Разным виртаульным джойстикам можно настроить разное число осей, кнопок и хаток. Например, для мышеджойстика понадобится только один виртуальный джойстик с 4 осями (элероны, рули высоты, руль направления и рычаг управления двигателем), без кнопок и без хаток (кнопки и хатки джойстика можно эмулировать клавиатурой, но проще использовать непосредственно клавиатуру с той же функциональностью). Дополнительные оси можно использовать для плавного зума в режиме мышетрекира (в дополнение к осям виртуального трекира) или для плавного управления закрылками, но это уже на любителя (трекиром, зумом и закрылками удобнее управлять с клавиатуры параллельно с мышеджойстиком, а не последовательным переключением между мышеджойстиком и мышетрекиром).

Возможность программного управления позициями любых осей виртуальных джойстиков с высокой точностью (по 32767 точек на каждую из 8 осей каждого из 16 джойстиков) и высокой частотой (до десятков тысяч обновлений в секунду). Для мышеджойстика задействованное разрешение осей ограничено лишь желаемой амплитудой движения мышью (при неподвижном предплечье амплитуда движения обычно ограничена парой дюймов), помноженной на чувствительность имеющегося сенсора (DPI обычно не превышает нескольких тысяч точек на дюйм). Но при необходимости можно на порядки увеличить точность за счет программного переключения чувствительности (т.е. при необходимости можно быстро и грубо выбрать диапазон, а потом переключиться в режим повышенной точности для плавной корректировки позиции оси).

Постоянное наличие созданных джойстиков в системе независимо от наличия управляющих ими программ и скриптов. Т.е. игры постоянно видят созданные джойстики и их не нужно перезапускать при изменении каких-то настроек программ или скриптов, которые управляют джойстиком. Скрипт для управления джойстиком можно запустить прямо во время игры, остановить и перезапустить с новыми настройками без опасений, что игра перестанет видеть джойстик.

Не требует наличия игрового порта, подходит для любого компьютера/ноутбука, на котором установлена Windows 98/Me/2000/XP/Vista/7/8. Для 32-битных ОС Windows 98/Me/2000/XP используется 32-битный вариант драйвера (PPJoy версии 0.8.3 и младше), а для 64-битных ОС Windows Vista/7/8 используется 64-битный вариант драйвера (PPJoy версии 0.8.4 и старше, но с важной оговоркой: в Windows Vista/7/8 необходимо разрешить работу неподписанных драйверов в «тестовом режиме», иначе неподписанный драйвер PPJoy не будет работать).

Возможности универсального программируемого эмулятора GlovPIE

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

Возможность считывать реальные сдвиги каждой мыши (по отдельности или всех в сумме) через DirectInput (доступно в Windows XP и последующих версиях), что в разы повышает точность (по сравнению со считыванием загрубленной позиции ускоряющегося курсора), обеспечивает линейность и позволяет при 4-ех дюймовой амплитуде движения мышью, имеющей сенсор с разрешением 1000 DPI, эмулировать оси виртуального джойстика и виртуального трекира с разрешением 4000 точек на ось (для увеличения разрешения осей можно указать в скрипте увеличенную амплитуду движения мышью или больший DPI сенсора).

Гибкие возможности для эмуляции любых осей и кнопок/хаток любого из 16 виртуальных джойстиков драйвера PPJoy, позволяющие синхронно двигать РУС вместе с педалями для упрощения управления одной мышью. Для мышеджойстика используется многорежимное управление с возможностью фиксировать оси в текущем состоянии на время управления мышью другими осями (актуально для руления, полета боком, выполнения некоторых маневров на скоростях сваливания и вывода самолета из неуправляемого штопора).

Более гибкие, чем у NewView, возможности для эмуляции 6 осей трекира (т.е. виртуального TrackIR), позволяющие автоматизировать синхронный сдвиг камеры в сторону поворота для упрощения ручного обзора клавиатурой и мышью. Можно одним нажатием мгновенно выглядывать влево или вправо под нужным углом с нужным сдвигом, а при отпускании кнопки возвращать взгляд в текущую точку плавного обзора.

Простой скриптовый язык, на котором можно быстро запрограммировать многорежимный мышеджойстик/мышетрекир/клавотрекир практически с любой необходимой функциональностью. Синтаксис PIE-скриптов не имеет строгих ограничений: можно писать в стиле языка Си или Паскаль, а при желании можно писать настоящий «говнокод», опуская скобки и точки с запятыми в расчете на то, что GlovPIE сам догадается о том, что вы имели ввиду.

Возможности предлагаемого для примера скрипта мышеджойстика

Три режима работы мыши: основной режим мышеджойстика (при отпущенной клавише [ALT] на клавиатуре), режим мышетрекира (с зажатой клавише [ALT] на клавиатуре) и вспомогательный режим мыши (отключается клавишей [F9], включается клавишей [F10]). В режиме мышеджойстика мышь управляет виртуальным джойстиком, а положенией осей виртуального трекира можно менять только с клавиатуры (комбинации [Q, W, E, A, S, D] для быстрого обзора с автовозвратом в затриммированное положение осей трекира или [SHIFT] + [Q, W, E, A, S, D] для плавного изменения затриммированного направления обзора без автовозврата). В режиме мышетрекира мышь управляет виртуальным трекиром (плавное изменение затриммированного направления обзора без автовозврата в дополнение к комбинациям [Q, W, E, A, S, D] с клавиатуры), а оси виртуального джойстика фиксируются и сохраняют свое затриммированное положение. Вспомогательные режимы мыши предназначены для управления курсором и турельными пулеметами мышью без сбивания затриммированного положения осей джойстика и трекира.

Три режима работы клавиатуры: основной режим клавотрекира с мышеджойстиком ([F9]) для полетов от лица пилота, вспомогательный режим клаводжойстика с мышью ([F10]) для работы мышью и вспомогательный режим инвертированного клаводжойстика с мышью ([F11]) для полетов задом наперед с инвертированным подруливанием с клавиатуры и свободным прицеливанием мышью.

Отвязка обзора от мыши в Ил-2 при сохранении мышиного управления турельными пулеметами. Ил-2 автоматически выполняет кратковременную отвязку буквально на секунду после каждого изменения состояния трекира, а скрипт автоматически обновляет состояние трекира даже при визуально неизменном направлении обзора, так что при работе скрипта движения мыши не сбивают обзор в Ил-2, но управляют турельными пулеметами (при переключении на задних стрелков).

Ручное управление 5-тью осями джойстика с помощью мыши с возможностью как раздельного, так и синхронного управления педалями вместе с РУС. 2 оси РУС и 1 ось педалей имеют разрешение по 2000 точек, а ход мыши с 1000 DPI составляет около 5 см (2 дюйма). Ось «Z» (РУД) имеет разрешение 22 точки (23 с учетом крайней точки), чтобы ход колеса прокрутки составлял ровно 22 деления (по 5% для Ил-2 от 0% до 110%). Пятая ось «U» (скольжение) используется в режиме мышетрекира для регулировки угла обзора колесом прокрутки (для дублирования и дополнения кнопочного действия «Сменить угол зрение»).

Синхронизация позиции курсора-крестика относительно экрана с текущей затриммированной позицией осей виртуального джойстика для визуальной центровки и быстрого контроля позиции РУС и педалей, что позволяет совершать упреждающие управляющие движения, не дожидаясь визуализации отклика самолета (актуально при полетах на скоростях сваливания и на закритических углах атаки). Визуальный контроль положения РУС и педалей положению курсора-крестика относительно экрана позволяет легко балансировать на грани сваливания и быстро выводить самолет из неуправляемого штопора в управляемый.

Ручное управление 2-мя осями (Yaw и Pitch) эмулируемого трекира для быстрого обзора по сторонам с помощью клавиатуры с одновременным автосдвигом 3 осей трекира (X, Y, Z) в нужную сторону для улучшения выглядывания. Комбинации 6 клавиш [Q, W, E, A, S, D] обеспечивают до 20 промежуточных углов быстрого обзора с автовозвратом в затриммированное направление обзора. Комбинации [SHIFT] + [Q, W, E, A, S, D] позволяют плавно изменять затриммированное положение трекира (и сбрасывать триммирование через [SHIFT] + [Q] + [E]), если мышь уже занята управлением виртуальным джойстиком (при отпущенной клавише [ALT] на клавиатуре).

Автоматический сдвиг камеры в нужную сторону при выглядывании назад для улучшения обзора без необходимости нажимать лишние кнопки. При выглядывании влево происходит сдвиг влево-вверх-вперед, а при выглядывании вправо происходит сдвиг вправо-вверх-вперед (в обоих случаях камера приближается к стеклу, отодвигается от загораживающей брониспинки и приподнимается).

Чтобы осматриваться только поворотами без сдвига в Ил-2 достаточно перейти в режим «Смотреть через прицел. Вкл/Выкл», в котором камера может только поворачиваться, но не может сдвигаться.

Установка драйвера PPJoy для 32-битной ОС Windows 98/Me/2000/XP

Входим в систему с правами локального администратора на момент установки драйвера мышеджойстика.

В Windows XP для просмотра и изменения аккаунтов пользователей открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Администрирование » -> » Управление компьютером » -> элемент списка » Локальные пользователи и группы » -> » Пользователи «. Пользователь, под которым вы входите в систему, должен иметь права администратора на момент установки драйвера.

Разрешаем установку неподписанных драйверов.

В Windows XP для изменения настройки открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Система » -> вкладка » Оборудование » -> кнопка » Подписывание драйверов » -> пункт » Предупреждать «.

Скачиваем архив PPJoySetup-0.8.3.zip (размер 1.75 МБ, этот драйвер предназначен только для 32-битных систем) и распаковываем его содержимое в любую временную папку.

Запускаем «Setup.exe» для автоматической установки драйвера и кликаем везде » OK » -> » Next » -> » Next » -> » Next » -> » Next » -> » Next «.

Проверяем успешность автоматической установки драйвера: открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Система » -> вкладка » Оборудование » -> кнопка » Диспетчер устройств «. В разделе » Звуковые, видео и игровые устройства » должно появиться устройство «Parralel Port Joystick Bus«.

Для Windows 2000/XP драйвер устанавливается автоматически без каких-либо проблем, но если устройства «Parralel Port Joystick Bus» в списке не появилось, то устанавливаем его вручную (для Windows 98/ME потребуется аналогичная ручная установка): открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Установка оборудования «, отмечаем » Да устройство уже подсоединено «, в списке внизу находим » Добавление нового устройства «, отмечаем » Установка оборудования, выбранного из списка вручную «, в списке находим пункт » Звуковые, видео и игровые устройства «, жмем кнопку » Установить с диска «, выбираем файл «PPJoyBus.inf» (из папки с распакованным драйвером PPJoy), жмем «Далее» и «Все равно продолжить» (если система спросит). Убеждаемся, что после ручной установки устройство «Parralel Port Joystick Bus» появилось в разделе » Звуковые, видео и игровые устройства » диспетчера устройств.

Если драйвер не установился и новое устройство не появилось, то повторяем процедуру установки внимательнее, читаем все сообщения и ищем причину ошибки.

Установка драйвера PPJoy для 64-битной ОС Windows Vista/7/8

Входим в систему с правами локального администратора на момент установки драйвера мышеджойстика.

В Windows 7 для просмотра и изменения аккаунтов пользователей открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Администрирование » -> » Управление компьютером » -> элемент списка » Локальные пользователи и группы » -> » Пользователи «. Пользователь, под которым вы входите в систему должен иметь права администратора на момент установки драйвера.

Разрешаем установку и работу неподписанных драйверов. При первом запуске установщика неподписанного драйвера «PPJoySetup-0-8-4-6.exe» система предложит сделать это автоматически, но это можно сделать и вручную.

В Windows 7 для отключения проверки подписей драйверов открываем » Пуск » -> » Выполнить » и выполняем команду «cmd», чтобы открыть консоль командной строки. В консоле вызываем «bcdedit» с параметром «-set TESTSIGNING OFF» (через пробел и без кавычек):
bcdedit -set TESTSIGNING OFF

После перезагрузки система перейдет в «тестовый режим», который на деле ничем не отличается от обычного, кроме возможности установки и работы с неподписанными драйверами. Конечно, в углу рабочего стола появится нефотогиничная надпись «тестовый режим», но при желании её можно спрятать или смириться с ней как с нормой, поскольку режим отключения проверки подписей драйверов (о тестовом назначении которого так назойливо информирует эта надпись) является единственным способом работы с неподписанными драйверами на новой ОС от Microsoft. Искать подписанный драйвер какого-то мышеджойстика бесполезно, поскольку цифровые сертификаты для подписывания драйверов выдаются разработчикам устройств только на платной основе, а заниматься бесплатными мышеджойстиками бессмысленно с коммерческой точки зрения. Чтобы система загружалась в обычном режиме достаточно вернуть проверку подписей драйверов:
bcdedit -set TESTSIGNING ON

Но после перезагрузки системы в обычном режиме неподписанные драйверы уже не будут работать, поэтому для работы с неподписанным драйвером мышеджойстика в новой 64-битной ОС от Microsoft придется оставить «тестовый режим» как норму (при необходимости можно отключить надпись на рабочем столе без включения проверки подписей драйверов).

Скачиваем установщик PPJoySetup-0-8-4-6.exe (размер 2.07 МБ, этот драйвер предназначен только для 64-битных систем).

Запускаем «PPJoySetup-0-8-4-6.exe» для автоматической установки драйвера. Если система ещё не переведена в «тестовый режим», необходимый для работы с неподписанными драйверами, то она предложит сделать это автоматически, а после перезагрузки системы необходимо запустить установщик неподписанного драйвера снова.

Проверяем успешность автоматической установки драйвера: открываем » Пуск » -> » Панель управления » -> » Система » -> кнопка » Диспетчер устройств «. В разделе » Звуковые, видео и игровые устройства » должно появиться устройство «Parralel Port Joystick Bus Enumerator«.

Если драйвер не установился и новое устройство не появилось, то повторяем процедуру установки внимательнее, читаем все сообщения и ищем причину ошибки.

Добавление виртуальных джойстиков для драйвера PPJoy

Открываем » Пуск » -> » Панель управления » -> » Parallel Port Joysticks » -> кнопка » Add. » -> пункт » Controller 1 » (в списке «Contoller nubmer») -> кнопка » Add «.

Система обнаружит новое устройство в виде виртуального джойстика «Parallel Port Joystick 1» и в открывшемся окне предложит установить его драйвер. Выбираем либо «Автоматическая установка» (при предупреждении выбираем «Все равно продолжить»), либо «Установка из указанного места», указаваем путь до папки с распакованным драйвером PPJoy, жмем «Далее» (если тут же система попросит драйвер для устройства HID, то повторяем те же операции).

В Windows XP для просмотра диспетчера устройств открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Система » -> вкладка » Оборудование » -> кнопка » Диспетчер устройств «.

В Windows 7 для просмотра диспетчера устройств открываем » Пуск » -> » Панель управления » -> » Система » -> кнопка » Диспетчер устройств «.

Убеждаемся, что устройство «Parallel Port Joystick 1» появилось в разделе » Устройства HID (Human Interface Device) » диспетчера устройств.

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

В том же окне (» Пуск » -> » Панель управления » -> » Parallel Port Joysticks «) в списке » Configured joystick » выбираем добавленный джойстик «Parallel Port Joystick 1» и жмем кнопку » Mapping. » -> пункт » Set a custom mapping for this controller » -> кнопка » Далее «. Настраиваем количество осей, кнопок и хаток виртуального джойстика. Каждый из 16-ти виртуальных джойстиков может иметь до 8 осей, до 32 кнопок и до 2 хаток, но для нижеописанного скрипта для GlovPIE, приведенного в качестве примера, понадобится только первые 5 осей: «X Axis«, «Y Axis» (РУС), «Z Axis» (РУД), «Z Rotation» (РН) и «Slider» (для плавного зума мышетрекиром), без кнопок и без хаток. Жмем кнопку » Далее «, сохраняем стандартную нумерацию для используемых осей без изменений: «Analog 0«, «Analog 1«, «Analog 2«, «Analog 3«. Жмем кнопку » Далее «, сохраняем стандартную нумерацию кнопок, » Далее » -> » Готово » -> » Done «.

Эмуляция мышеджойстика/мышетрекира/клавотрекира с помощью GlovPIE

Скачиваем данный для примера небольшой PIE-скрипт MouseJoystickScript.pie (размер 44 КБ), который позволяет управлять осями виртуального джойстика «Parallel Port Joystick 1» визуально через абсолютную позицию курсора на экране и колесо прокрутки любой подключенной мыши.

Скачиваем архив GlovePIE045Free.zip (размер 2.52 МБ) и распаковываем его содержимое в любую папку. Сам эмулятор 32-битный, но поскольку это не драйвер, а просто программа, то она без проблем работает и в 64-битной системе (в режиме совместимости x86).

Запускаем «PIEFree.exe«, открываем » File » -> » Open » и выбираем скаченный для примера небольшой PIE-скрипт «MouseJoystickScript.pie», чтобы проверить работу мышеджойстика.

Нажимаем большую кнопку » Run » (или через меню » Run! » -> » Run! » или через [F9] на клавиатуре), чтобы запустить скрипт. Нажимаем самую правую кнопку верхнего меню » [ .] «, чтобы свернуть программу GlovPIE до значка в системном трее.

В Windows XP для проверки работы виртуального джойстика открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Игровые устройства » -> выбираем » PPJoy Virtual Joystick 1 » -> жмем кнопку » Свойства » -> вкладка » Проверка «.

В Windows 7 для проверки работы виртуального джойстика открываем » Пуск » -> » Панель управления » -> » Устройства и принтеры «, в списке устройств кликаем правой кнопкой мыши на значке компьютера и в выпадающем списке выбираем » Параметры игровых устройств управления » -> выбираем » PPJoy Virtual Joystick 1 » -> жмем кнопку » Свойства » -> вкладка » Проверка «.

Если движения мышью и вращения колеса прокрутки не влияют на оси виртуального джойстика, то внимательно перепроверяем версию и разрядность своей Windows 98/Me/2000/XP/Vista/7/8, перепроверяем успешность установки соответствующего (32-битного или 64-битного) драйвера PPJoy, успешность добавления виртуального джойстика «Parallel Port Joystick 1» и повторяем процедуру запуска скрипта внимательнее.

Настраиваем автозагрузку мышеджойстика, чтобы GlovPIE автоматически запускал данный для примера скрипт при запуске Windows и сворачивался в системный трей.

Скачиваем данный для примера небольшой текстовый BAT-файл MouseJoystickAutorun.bat (размер 52 байта, данный bat-файл выполняет команду start PIEFree.exe -«MouseJoystickScript.pie» /tray) и сохраняем его вместе PIE-скриптом «MouseJoystickScript.pie» внутри папки GlovePIE045Free, в которой находится PIEFree.exe.

Правой кнопкой кликаем на сохраненном BAT-файле и в выпадающем меню выбираем » Создать ярлык «. Перемещаем созданный ярлык на рабочий стол для ручного запуска, а для автоматического старта (при каждой загрузке системы) перемещаем ярлык в » Пуск » -> » Программы » -> » Автозагрузка «. Пошагово: наводим курсор на ярлык, зажимаем левую кнопку мыши, нажимаем на клавиатуре кнопку [WIN] (или комбинацию [CTRL] + [ESC] на клавиатурах без [WIN]) для раскрытия меню » Пуск «, перетаскиваем захваченный ярлык на меню » Пуск » -> » Программы «, ждем раскрытия пункта меню, перетаскиваем захваченный ярлык на подменю » Автозагрузка «, ждем раскрытия пункта меню, перетаскиваем захваченный ярлык под раскрывшийся пункт » Автозагрузка » и отпускаем левую кнопку мыши.

Внимание: данный для примера скрипт принудительно меняет позицию курсора для визуальной центровки мышеджойстика, что удобно в игре, но может быть неудобно при работе с другими приложениями. Поэтому ярлык автозапуска все же лучше не помещать в автозагрузку, а просто переместить туда (в пуск или на рабочий стол), откуда его удобно запускать вручную. Скрипты влияют только на управление виртуальными джойстиками, но не влияют на само наличие этих джойстиков в системе, поэтому скрипты можно запускать и перезапускать даже после запуска игр.

Можно одновременно запускать несколько экземпляров GlovPIE с разными скриптами, что может вызвать кокурирующую перезапись позиции одних и тех же осей. Поэтому необходимо следить за системным треем (или количеством процессов PIEFree.exe в диспетчере задач), чтобы случайно не запустить один и тот же скрипт дважды (скрипты, которые управляют одними и теми же осями виртуального джойстика, будут мешать друг другу при одновременной работе). Если понадобится запуск множества скриптов, то вместо одновременного запуска нескольких экземпляров GlovPIE лучше запускать только один (для минимизации накладных расходов на работу) с кодом суммарного скрипта, который содержит все необходимые скрипты друг за другом (при объединении скриптов необходимо проверить, чтобы названия локальных переменных были уникальны, а перезапись общих переменных не нарушала общей логики работы, чтобы скрипты не мешали друг другу после объединения в один).

Внимание: игра Ил-2 для максимизации FPS на 100% загружает одно ядро, так что на одноядерном процессоре эмуляция мышеджойстика может подлагивать при равных приоритетах. Для одноядерных процессоров рекомендуется через диспетчер задач выставить приложению PIEFree.exe более высокий приоритет (выше среднего), чем приоритет il2fb.exe (средний). Для двухядерных процессоров такой проблемы нет, поскольку игра Ил-2 из-за однопоточной архитектуры движка не может одновременно загрузить оба ядра на 100%. Но при запуске других приложений с высоким приоритетом и полной загрузкой всех ядер на 100% могут возникнуть задержки (т.е. при загрузке процессора на 100% обновление осей джойстика и трекира может происходить не в равномерные моменты времени, а в рваном ритме, рывками).

Руководство по управлению мышеджойстиком

Мышеджойстик работает при отжатой клавише [ALT] параллельно с клавотрекиром, но доступен только в режиме пилотирования (включается клавишей [F9]). Во вспомогательных режимах (включаются клавишами [F10] и [F11]) при отжатой клавише [ALT] мышь работает как обычная мышь, чтобы не сбивать затриммированное положение осей джойстика.

Движение мыши на себя/от себя отклоняет РУС на себя/от себя. В Ил-2 для рулей высоты рекомендуется использовать прямую кривую отклика (соответствует настройке «все по 100»), нулевую мертвую зону и нулевое сглаживание, чтобы рули высоты отклонялись без задержки сразу на точно выставленный угол.

Движение мыши влево/вправо отклоняет РУС влево/вправо (при зажатой правой кнопке мыши элероны фиксируются для раздельного управления РН), а так же синхронно отклоняет педали влево/вправо (при зажатой левой кнопке мыши рули направления фиксируются для раздельного управления элеронами). В Ил-2 для элеронов и рулей направления направления рекомендуется использовать прямую кривую отклика (соответствует настройке «все по 100»), нулевую мертвую зону и нулевое сглаживание, чтобы элероны и рули направления отклонялись без задержки сразу на точно выставленный угол. Для элеронов кривую отклика можно немного опустить, а для педалей оставить линейной. При синхронном управлении упрощается прицеливание мышью, повышается скорость крена на положительных углах атаки и появляется возможность без лишних кликов управлять креном даже при выбитых элеронах (если целы рули высоты и направления, то выравнивать крен на мышеджойстике довольно просто: на положительных углах атаки руль направления управляет креном как обычные элероны, а на отрицательных углах атаки — как инвертированные).

Поворот колеса прокрутки на себя/от себя отклоняет РУД на себя/от себя (при зажатой правой кнопке мыши РУД отклоняется в 5 раз быстрее для быстрого сброса/возврата тяги). В Ил-2 для тяги рекомендуется использовать прямую кривую отклика (соответствует настройке «все по 100»), нулевую мертвую зону и нулевое сглаживание, чтобы тяга изменялась без задержки сразу на точно выставленное значение (22 интервала с шагом по 5% от 0% до 110%).

Центровка РУС и педалей осуществляется визуально по позиции курсора-крестика на экране при отжатых кнопках мыши (при зажатых левой и/или правой кнопках мыши элероны и/или рули направления зафиксированы, но курсор-крестик показывает положение, в которое перейдут зафиксированные оси после отжатия кнопок).

Если самолет имеет достаточную скорость и эффективность рулей не снижена, то достаточно следить за реакцией самолета, а не за положением курсора-крестика (он необходим только для совершения упреждающих управляющих движений при полетах на скоростях сваливания и/или на закритических углах атаки).

Руководство по управлению мышетрекиром

Мышетрекир работает при зажатой клавише [ALT] как в основном режиме пилотирования (включается нажатием [F9]) в качестве альтернативы мышеджойстику (для дублирования клавотрекира, т.к. одним резким сдвигом мыши можно быстро и точно затриммировать сразу нужное направление обзора для автовозврата), так и во вспомогательных режимах (включаются нажатием [F10] и [F11]) в качестве альтернативы мыши (в дополнение к клаводжойстику, т.к. одним резким сдвигом мыши можно быстро и точно затриммировать рули самолёта сразу в нужном положении для автовозврата).

Движение мыши от себя/на себя управляет обзором по тангажу трекира (вверх/вниз).

Движение мыши влево/вправо управляет обзором по курсу трекира (влево/вправо).

Поворот колеса прокрутки мыши вверх/вниз управляет положением оси «Скольжение по оси U» джойстика, которую в Ил-2 рекомендуется назначить на «Приближение», если предполагается периодическое использование мышетрекира с возможностью корректировки как направления обзора, так и угла обзора одной рукой. При зажатой правой кнопке угол обзора регулируется в 5 раз быстрее для быстрого приближения/отдаления. В Ил-2 для оси «Скольжение по оси U» джойстика рекомендуется использовать прямую кривую отклика (соответствует настройке «все по 100»), нулевую мертвую зону и нулевое сглаживание, чтобы угол обзора изменялся без задержки сразу на точно выставленное значение (24 интервала с шагом по 2,5 градуса в диапазоне от 30 до 90 градусов).

Управление сдвигом по осям «X», «Y», «Z» трекира выполняется автоматически в сторону ручного выглядывания по курсу и тангажу. При выглядывании влево или вправо в направлении задней полусферы камера автоматически приближается к стеклу, отодвигается от бронеспинки и приподнимается для улучшения обзора через край бронеспинки. При наклоне вниз или вверх в направлении передней полусферы камера автоматически опускается для улучшения обзора приборной панели или приподнимается для улучшения обзора над прицелом.

Управление обзором по крену можно считать инерциальным: ось «Roll» трекира сохраняет заданную центровку в нулевом положении, которое прописано в коде скрипта перед запуском, чтобы верх кабины всегда был вверху экрана.

Руководство по управлению клавотрекиром

Клавотрекир доступен только в режиме пилотирования (включается нажатием кнопки [F9]), работает параллельно с мышеджойстиком/мышетрекиром и настроен под левую руку, позволяя осуществлять как быстрый обзор по наиболее общим направлениям (комбинации [Q, W, E, A, S, D] без [SHIFT]) с автовозвратом в затриммированное положение трекира, так и плавное дублирование мышетрекира ([SHIFT] + [Q, W, E, A, S, D]) с плавным изменением затриммированного положения осей трекира без автовозврата.

Во время работы скрипта можно переключаться между режимом пилотирования (клавотрекир + мышеджойстик) и вспомогательным режимом (клаводжойстик + мышь для управления курсором, турельными пулеметами и т.п.):
[F9] — возврат в режим пилотирования для обзора через клавотрекир (основной режим)
[F10] — переключение во вспомогательный режим для управления через клаводжойстик
[F11] — переключение в режим полета задом наперед с инвертированным клаводжойстиком

При работе с клавотрекиром заняты все 5 пальцев левой руки: мизинец на [SHIFT] выбирает плавный или быстрый обзор, безымянный + средний + указательный пальцы на [Q, W, E, A, S, D] управляют направлением обзора по крену и тангажу, а большой палец на большой кнопке [Пробел] управляет открытием огня из курсовых пулеметов и пушек. Самолёт в это время управляется мышеджойстиком в правой руке.

Плавное дублирование мышетрекира (триммирование без автовозврата):
[SHIFT] + [A] — левее (зажать и держать до поворота на нужный угол)
[SHIFT] + [D] — правее (зажать и держать до поворота на нужный угол)
[SHIFT] + [W] — выше (зажать и держать до поворота на нужный угол)
[SHIFT] + [S] — ниже (зажать и держать до поворота на нужный угол)
[SHIFT] + [Q] или [SHIFT] + [E] — центовка направления обзора на прицел

Точность (градусов за итерацию) и скорость (градусов в секунду) плавного изменения затриммированного положения трекира с клавиатуры настраивается в скрипте «MouseJoystickScript.pie» (см. «Настройки амплитуды и разрешения осей»).

Если нет времени ждать плавного изменения затриммированного направления обзора, то можно зажать клавишу [ALT] (режим мышетрекира) и одним резким движением мыши быстро и точно затриммировать сразу нужное направление обзора, в которое будет осуществляться автовозврат клавотрекира при отпущенных кнопках [Q, W, E, A, S, D].

Быстрый обзор по направлениям (с автовозвратом в затриммированное положение):
[A] — влево 180, вверх 0 (проверка левой полусферы сзади-снизу)
[A] + [W] — влево 180, вверх 45 (проверка левой полусферы сзади-сверху)
[A] + [S] — влево 90, вверх 0 (проверка левой полусферы снизу)
[A] + [E] — влево 90, вверх 45 (проверка левой полусферы сверху)

[D] — вправо 180, вверх 0 (проверка правой полусферы сзади-снизу)
[D] + [W] — вправо 180, вверх 45 (проверка правой полусферы сзади-сверху)
[D] + [S] — вправо 90, вверх 0 (проверка правой полусферы снизу)
[D] + [Q] — вправо 90, вверх 45 (проверка правой полусферы сверху)

[W] — вправо 0, вверх 90 (проверка передней полусферы сверху)
[W] + [S] — влево 0, вверх 45 (проверка передней полусферы спереди-сверху)
[W] + [Q] — влево 45, вверх 45 (проверка передней полусферы слева-сверху)
[W] + [E] — вправо 45, вверх 45 (проверка передней полусферы справа-сверху)

[S] — вправо 0, вверх 22 (проверка передней полусферы над прицелом)
[Q] — влево 90, вверх 22 (проверка левой полусферы выше крыла)
[E] — вправо 90, вверх 22 (проверка правой полусферы выше крыла)

Конкретные направления в градусах по курсу и тангажу для каждой комбинации зажатых кнопок настраиваются в скрипте «MouseJoystickScript.pie«.

Преимущество быстрого обзора по направлениям через клавотрекир по сравнению традиционным клавиатурным обзором в том, что доступны промежуточные двойные (например: [Q] + [E]) и тройные комбинации кнопок (например: [Q] + [W] + [E]) для промежуточных направлений обзора, причем каждая комбинация кнопок может изменять сразу несколько нужных осей, не только поворачивая по курсу и тангажу трекира, но и одновременно с поворотом выполняя автоматический сдвиг по осям X, Y, Z трекира в нужную сторону. Одним нажатием нужных кнопок можно мгновенно выглядывать из-за брониспинки слева или справа для периодической проверки задней полусферы во время боя.

Управление сдвигом по осям «X», «Y», «Z» трекира выполняется автоматически в сторону ручного выглядывания по курсу и тангажу. При выглядывании влево или вправо в направлении задней полусферы камера автоматически приближается к стеклу, отодвигается от бронеспинки и приподнимается для улучшения обзора от края бронеспинки. При наклоне вниз или вверх в направлении передней полусферы камера автоматически опускается для улучшения обзора приборной панели или приподнимается для улучшения обзора над прицелом.

Чтобы осматриваться только поворотами без сдвига в Ил-2 достаточно перейти в режим «Смотреть через прицел. Вкл/Выкл» (рекомендуется назначить на кнопку [X] под левую руку), в котором камера может только поворачиваться, но не может сдвигаться.

Управление обзором по крену можно считать инерциальным: ось «Roll» трекира сохраняет заданную центровку в нулевом положении, которое прописано в коде скрипта перед запуском, чтобы верх кабины всегда был вверху экрана.

Руководство по управлению клаводжойстиком

Клаводжойстик доступен только во вспомогательных режимах (включаются нажатием кнопки [F10] или [F11]), работает параллельно с мышью/мышетрекиром и настроен под левую руку, позволяя осуществлять как высокочастотное подергивание рулей ([Q, W, E, A, S, D] без [SHIFT]) с автовозвратом в затриммированное положение джойстика, так и плавное дублирование мышеджойстика ([SHIFT] + [Q, W, E, A, S, D]) с плавным изменением затриммированного положения осей джойстика без автовозврата.

Во время работы скрипта можно переключаться между режимом пилотирования (клавотрекир + мышеджойстик) и вспомогательным режимом (клаводжойстик + мышь для управления курсором, турельными пулеметами и т.п.):
[F9] — возврат в режим пилотирования для обзора через клавотрекир (основной режим)
[F10] — переключение во вспомогательный режим для управления через клаводжойстик
[F11] — переключение в режим полета задом наперед с инвертированным клаводжойстиком

В режиме полета задом наперед управление элеронами и рулями высоты на клаводжойстике инвертировано для удобства подруливания от лица заднего стрелка при полете задом как от лица пилота при полете вперед.

При работе с клаводжойстиком заняты все 5 пальцев левой руки: мизинец на [SHIFT] выбирает плавное триммирование или быстрое подергивание рулей, безымянный + средний + указательный пальцы на [Q, W, E, A, S, D] управляют элеронами, рулями высоты и направления, а большой палец на большой кнопке [Пробел] управляет открытием огня из курсовых пулеметов и пушек. Курсор или турельный пулемет (при переключении на заднего стрелка) при этом управляется мышью в правой руке.

Плавное дублирование мышеджойстика (триммирование без автовозврата):
[SHIFT] + [A] — крен левее (зажать и держать до отклонения элеронов на нужный угол)
[SHIFT] + [D] — крен правее (зажать и держать до отклонения элеронов на нужный угол)
[SHIFT] + [W] — тангаж ниже (зажать и держать до отклонения РВ на нужный угол)
[SHIFT] + [S] — тангаж выше (зажать и держать до отклонения РВ на нужный угол)
[SHIFT] + [Q] — рысканье левее (зажать и держать до отклонения РН на нужный угол)
[SHIFT] + [E] — рысканье правее (зажать и держать до отклонения РН на нужный угол)
[SHIFT] + [Q] + [E] — центовка элеронов, РВ и РН

Точность (градусов за итерацию) и скорость (градусов в секунду) плавного изменения затриммированного положения джойстика с клавиатуры настраивается в скрипте «MouseJoystickScript.pie» (см. «Настройки амплитуды/разрешения и чувствительности/точности»).

Если нет времени ждать плавного изменения затриммированного положения осей, то можно перейти в режим мышеджойстика ([F9]) и одним резким движением мыши быстро и точно затриммировать сразу нужное направление осей, в которое будет осуществляться автовозврат клаводжойстика при отпущенных кнопках [Q, W, E, A, S, D].

Быстрое дерганье осей джойстика (с автовозвратом в затриммированное положение):
[A] — крен влево
[D] — крен вправо
[W] — тангаж вниз
[S] — тангаж вверхо
[Q] — рысканье влево
[E] — рысканье вправо

Преимущество быстрого управления на клаводжойстике по сравнению с традиционным клавиатурным управлением в том, что при отпускании всех кнопок автовозврат осей выполняется не в нулевое положение, а в текущее нужное затриммированное положение осей джойстика (именно осей джойстика, а не игровых рулей и плоскостей), которое в любом момент можно скорректировать через плавное управление на клаводжойстике ([SHIFT] + [Q, W, E, A, S, D] во вспомогательно режиме) или через мышеджойстик (в режиме пилотирования). Триммирирование положений осей джойстика не следует путать с триммированием рулей и плоскостей внутри игры. Игровые триммера имеются не на всех самолётах и управлять игровыми триммерами нет никакой необходимости, поскольку мышеджойстик и клаводжойстик дает возможность сразу затриммировать все оси джойстика в любом положении и отойти от компьютера на пару минут, пока затриммированный самолёт летит.

Рекомендации по настройке управления Ил-2

Для Ил-2 необходимо через «conf.ini» включить использование системного курсора (mouseUse=1), джойстика (joyUse=1) и трекира (trackIRUse=1). Обзор мышью нужно оставить включенным (SensitivityX=1.0 и SensitivityY=1.0), чтобы сохранить возможность управления турельными пулеметами при переключении на задних стрелков:

[rts]
mouseUse=1
joyUse=1
trackIRUse=1
.
[rts_mouse]
SensitivityX=1.0
SensitivityY=1.0
.

Конфиг «conf.ini» находится в той же папке Ил-2, где расположен il2fb.exe («Папка_с_Ил-2\conf.ini»).

Ил-2 автоматически отвязывает обзор от мыши (при сохранении мышиного управления турельными пулеметами) после каждого изменения состояния трекира. При этом обзором будет управлять не мышь (которая большую часть времени нужна для мышеджойстика), а эмулятор трекира, которым можно управлять как с клавиатуры (быстрый обзор с автовозвратом комбинациями [Q, W, E, A, S, D] без [SHIFT] или плавная центровка через [SHIFT] + [Q, W, E, A, S, D]), так и мышью (в режиме мышетрекира при зажатой клавише [ALT] на клавиатуре) с возможностью отвязки обзора от мыши при привязке к ней осей джойстика (в режиме мышеджойстика при отжатой клавише [ALT] на клавиатуре):

В настройках управления Ил-2 необходимо не использовать 6 кнопок: [Q], [W], [E], [A], [S], [D], так как в скрипте они уже используются для управления клавотрекиром для обзора в игре. Если на эти кнопки или комбинации с ними назначены какие-то действия в игре, то необходимо переназначить управление на другие кнопки, чтобы комбинации [Q, W, E, A, S, D] остались свободны для клавторекира.

Для полноценного обзора с помощью клавотрекира (под левую руку) и одновременного управления мышеджойстиком (под правую руку) рекомендуется использовать перечисленные ниже настройки кнопок (для быстрого переключения прицела и зума во время обзора по сторонам с клавиатуры) и осей (для полноценного управления самолётом).

Рекомендуемые настройки кнопок в игре при обзоре через клавотрекир:
[Q], [W], [E], [A], [S], [D] — не назначать в игре (они уже используются клавотрекиром)
[Пробел] — «Оружие 1+2»
[C] — «Сменить сменить угол зрения»
[X] — «Смотреть через прицел. Вкл/Выкл»

Рекомендуемые настройки осей в игре при управлении через мышеджойстик:
[Ось X] — «Элероны»
[Ось Y] — «Руль высоты»
[Ось Z] — «Тяга»
[Вращение по оси Z] — «Руль высоты»
[Скольжение по оси U] — «Приближение»

В режиме мышеджойстика (при отжатой клавише [ALT]) для быстрого переключения приближения используется действие «Сменить сменить угол зрения» на кнопке [C].

«Приближение» на оси «U» джойстика используется только в режиме мышетрекира (при зажатой клавише [ALT]), когда движение мыши плавно управляет трекиром по курсу и тангажу, а вращение колеса прокрутки пошагово управляет джойстиком по оси «U».

Для Ил-2 можно через «settings.ini» совместить рули с соответствующими триммерами синхронно на одной оси (для бомбардировщиков важен только триммер руля направления на оси RZ, поскольку он позволяет доворачить по курсу в автогоризонте):

.
[HotKey aircraftView]
Space=Weapon01
X=cockpitAim
C=fovSwitch
.
[HotKey move]
JoystickDevice0 AXE_X=aileron
JoystickDevice0 AXE_Y=elevator
JoystickDevice0 AXE_Z=power
JoystickDevice0 AXE_RZ=rudder
JoystickDevice0 AXE_U=zoom
AXE_X JoystickDevice0=trimaileron
AXE_Y JoystickDevice0=trimelevator
AXE_RZ JoystickDevice0=trimrudder
.

Конфиг «settings.ini» с настройками управления для текущего пилота находится в подкаталоге «Папка_с_Ил-2\Users\1» или «Папка_с_Ил-2\Users\2» в зависимости от индекса выбранного пилота в «Папка_с_Ил-2\Users\all.ini». Если в игре создан только один пилот, то настройки его управления обычно хранятся в «Папка_с_Ил-2\Users\1\settings.ini».

Настройка амплитуды/разрешения и чувствительности/точности

Для настройки амплитуды и разрешения осей мышеджойстика/мышетрекира необходимо найти и изменить в тексте скрипта «MouseJoystickScript.pie» следующие строки:

// Указываем желаемую амплитуду движения мыши (в сантиметрах по горизонтали
// и по вертикали), которая будет соответствовать полному ходу осей
// джойстика и трекира, а так же полному ходу скорректированной позиции
// курсора относительно экрана при визуальной центровке осей джойстика.
// Для повышения разрешения и точности осей джойстика и трекира необходимо
// указать увеличенную амплитуду движения мышью (или завышенный dpi).
var.JoystickCentimetersDX := 5.08;
var.JoystickCentimetersDY := 2.85;
var.TrackIRCentimetersDX := 5.08;
var.TrackIRCentimetersDY := 2.85;

// Указываем реальный DPI сенсора мыши (количество точек на линейный дюйм).
// Возможные значения DPI: от 300 до 4000 (зависит от сенсора мыши).
// Для повышения разрешения и точности осей джойстика и трекирe необходимо
// использовать мышь с высоким dpi (или увеличить амплитуду движения мыши).
var.DotsPerInch := 1000.0;

// Указываем желаемое количество делений колеса прокрутки, которое будет
// соответствовать полному ходу осей Z (РУД) и U (скольжение) джойстика.
// Для управления тягой с шагом 5% в диапазоне от 0% до 110% необходимо
// указать 22 деления (110% / 5%). Для повышения разрешения и точности осей
// Z и U необходимо указать увеличенное число делений колеса прокрутки.
var.PowerClicks := 22;
var.ZoomClicks := 24;

Чтобы реальные амплитуды движения мыши соответствовали указанным в скрипте желаемым амплитудам (var.JoystickCentimetersDX, var.JoystickCentimetersDY), необходимо указать реальный DPI сенсора мыши для значения переменной var.DotsPerInch.

По умолчанию используется «прямоугольный» мышеджойстик, т.е. амплитуды по осям X и Y различаются и составляют 5.08 см для оси X (т.е. ровно 2 дюйма что дает разрешение до 2000 точек при чувствительности 1000 точек на дюйм) и 2.85 см по оси Y (т.е. X/Y = 5.08/2.85

16/9, чтобы чувcтвительность мышеджойстика по оси Y была в 16/9 раз выше, чем по оси X). Использование пышенной чувствительности мышеджойстика по оси Y (ценой занижения амплитуды полного хода и разрешения оси) обеспечивает на широкоформатных мониторах одинаковую скорость управления курсором по горизонтали и по вертикали (при выполнении скрипта в режиме мышеджойстика позиция курсора относительно экрана принудительно корректируется для соответствия позициям осей X и Y джойстика) и заодно немного улучшает резкость по тангажу без потери точности по крену.

При желании можно настроить себе «квадратный» мышеджойстик с одинаковой чувствительностью по осям X и Y мышеджойстика (для этого достаточно прописать одинаковую амплитуду в сантиметрах для обоих значений var.JoystickCentimetersDX и var.JoystickCentimetersDY), но тогда визуальная центровка в режиме «квадратного» (с одинаковой амплитудой по осям X и Y) мышеджойстика приведет к различной чувствительности для скорректированной курсора по горизонтали и по вертикали на «прямоугольных» (широкоформатных) экранах. Так как края «прямоугольного» экрана по-прежнему будут соответствовать крайним положениям осей «квадратного» мышеджойстика, то попиксельная скорость движения курсора по вертикали станет ниже, чем по горизонтали. С визуальной центровкой обычно удобнее (и привычнее) использовать «прямоугольный» мышеджойстик, чтобы амплитуды по осям X/Y соответствовали пропорциям экрана (4:3 для обычных или 16:9 для широкоформатны).

Самоделкины могут добавить в свой скрипт динамическое (в зависимости от текущего состояния кнопок) переключение чувствительности осей между режимом быстрой наводки и точной доводки, а так же сделать себе «круглый», «овальный» или даже «под форму мышековрика» мышеджойстик, но для изменения формы в плоскости X/Y придется добавить в код скрипта динамическое отображение координат из позиции (X, Y) внутри «прямоугольника» в желаемую позицию внутри соответствующей фигуры («круг», «овал» или что-то ещё).

Для настройки точности (градусов за итерацию) и скорости (градусов за секунду) клавотрекира и клаводжойстика при плавном триммировании осей ([SHIFT] + [Q, W, E, A, S, D]) необходимо найти и изменить в тексте скрипта «MouseJoystickScript.pie» следующие строки:

// Указываем желаемое количество итераций в секунду
PIE.FrameRate = 250;

// Указываем желаемое количество секунд, которое будет соответствовать
// полному ходу осей при управлении ими с клавиатуры в режиме плавного
// триммирования без автовозврата.
var.KeyDeltaTime := 2.0;

По умолчанию скрипт выполняется с частотой 250 итераций в секунду (чаще нет смысла, т.к. состояние неразогнанных USB мышек обновляется всего 125 раз в секунду), а плавное триммирование полного хода осей джойстика и трекира с клавиатуры занимает 2 секунды. Например, при зажатых [SHIFT] + [D] в режиме пилотирования клавотрекир плавно меняет обзор по курсу с точностью порядка 0,72 градуса за итерацию (360 градусов за 500 итераций) со скоростью 180 градусов в секунду (полный оборот за 2 секунды).

Клавотрекир обеспечивает хоть и грубый, но очень удобный обзор в бою свободной левой рукой, когда мышь в правой руке уже занята управлением самолётом (при отпущенной клавише [ALT] на клавиатуре). Повышенная точность (360/2000 = 0,18 градуса) и повышенная скорость (быстрым сдвигом мыши сразу на нужное расстояние) плавного триммирования по курсу и тангажу трекира обеспечивается мышетрекиром (при зажатой клавише [ALT] на клавиатуре), который по умолчанию имеет разрешение до 2000 точек по оси X (амплитуда 2 дюйма при чувствительности 1000 точек на дюйм).

Настройка визуальной центровки

По умолчанию в скрипте включена визуальная центровка, т.е. в режиме мышеджойстика (при отжатой клавише [ALT] на клавиатуре) скрипт корректирует грубую позицию системного курсора относительно экрана в соответствии с точной позицией осей мышеджойстика (системный курсор выводится аппаратно, не мерцает поверх игр и не портит скриншоты, что удобно для вывода поверх экрана информации о позиции осей джойстика через изменении позиции самого курсора). Для отключения визуальной центровки необходимо найти и удалить (или закомменитровать начало строк слешами //) из текста скрипта «MouseJoystickScript.pie» следующие строки:

// Отображаем абсолютную позицию осей джойстика из диапазона [-1..+1]
// в абсолютную позицию курсора-крестика внутри основного экрана
Mouse.CursorPosX := MapRange(var.TrimHorizontal, -1, 1, Screen.Left, Screen.Right);
Mouse.CursorPosY := MapRange(var.TrimVertical, -1, 1, Screen.Top, Screen.Bottom);

// Раскомментируйте эти строки для центровки курсора-крестика
// внутри второго экрана (при наличии нескольких мониторов)
//Mouse.CursorPosX := MapRange(var.TrimHorizontal, -1, 1, Screen2.Left, Screen2.Right);
//Mouse.CursorPosY := MapRange(var.TrimVertical, -1, 1, Screen2.Top, Screen2.Bottom);

// Раскомментируйте эти строки для центровки курсора-крестика
// внутри расширенного рабочего стола на несколько экранов
//Mouse.CursorPosX := MapRange(var.TrimHorizontal, -1, 1, Screen.DesktopLeft, Screen.DesktopRight);
//Mouse.CursorPosY := MapRange(var.TrimVertical, -1, 1, Screen.DesktopTop, Screen.DesktopBottom);

При расширении рабочего стола на нескольких экранов может возникнуть необходимость визуальной центровки относительно какого-то другого экрана или относительно всего расширенного рабочего стола на несколько экранов. В этом случае в формуле вычисления значений Mouse.CursorPosX и Mouse.CursorPosY придется заменить переменные Screen.Left, Screen.Top, Screen.Right и Screen.Bottom (границы основного экрана относительно расширенного рабочего стола) на Screen2.Left и Screen2.Top, Screen2.Right и Screen2.Bottom (границы второго экрана, на который расширен рабочий стол при наличии более одного монитора) или на Screen.DesktopLeft и Screen.DesktopTop, Screen.DesktopRight и Screen.DesktopBottom (границы всего расширенного рабочего стола на все экраны).

Для Ил-2 при использовании визуальной центровки необходимо через «conf.ini» включить отображение системного курсора (mouseUse=1), чтобы во время игры видеть системный курсор и скриптовую корректировку его позиции относительно экрана в соответствии с позицией осей джойстика. Но при отключении визуальной центровки системный курсор не нужен и можно включить программный курсор (mouseUse=2):

[rts]
mouseUse=1
.

Конфиг «conf.ini» находится в той же папке Ил-2, где расположен il2fb.exe («Папка_с_Ил-2\conf.ini»).

При включении визуальной центровки мышеджойстика рекомендуется использовать для системного курсора симметричное черно-белое перекрестие (например: MouseJoystickCursor.cur, этот черно-белый крестик прекрасно видно как на темном, так и на светлом фоне любого цвета и яркости), а не стандартный асимметричный указатель. Кроме того курсор должен быть статичным (без анимации), чтобы он отображался поверх игры аппаратно (без мерцаний и без задержек).

В Windows XP для изменения системного курсора открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Мышь » -> вкладка » Указатели » -> элемент списка » Основной режим » -> кнопка » Обзор «. Нестандартное перекрестие для системного курсора может поначалу показаться непривычным, но на самом деле симметричный курсор визуально точнее и удобнее не только в играх, а в любых приложениях, интерфейс которых требует визуального прицеливания мышкой.

Калибровка мышеджойстика

Изначально на уровне драйвера PPJoy (при чтении/записи значений через специальный внутренний интерфейс драйвера PPJoy) каждая из 8 осей любого из 16 виртуальных джойстиков PPJoy имеет разрешение по 32767 точек на ось: текущая позиция каждой оси внутри драйвера PPJoy хранится в виде натурального числа в диапазоне от 1 (минимум) до 32767 (максимум), а среднее значение 16384 соответствует симметричной центровке (16383 точек левее центра, 1 точка точно в центре, 16383 точек правее центра). Но обычно мышеджой использует только часть этого разрешения, так как большинство мышей имеют сенсор с DPI не более нескольких тысяч точек на дюйм, а комфортная амплитуда движения мышью ограничена несколькими дюймами (на самом деле даже на дешевой мышке с DPI всего 400 точек на дюйм можно использовать все разрешение с точностью до 1/32767 от полного хода оси, если добавить в скрипте для GlovPIE возможность переключения между грубым режимом быстрой наводки с амплитудой всего в пару дюймов и высокоточным режимом плавной доводки с амплитудой движения под сотню дюймов).

Специальные программы (включая эмулятор GlovPIE, мышеджойстик PPMouse и некоторые утилиты, работающие с драйвером PPJoy), которые через специальный внутренний интерфейс драйвера PPJoy могут не только считывать, но записывать текущие состояния осей, реально записывают именно целочисленные значения осей в диапазоне от 1 до 32767. Хотя в коде скрипта для GlovPIE программисту приходится использовать систему вещественных координат GlovPIE в диапазоне от [-1.0..+1.0] для каждой оси, но нужно понимать, что эмулятор GlovPIE выполняет неявное преобразование: точка 0.0 для GlovPIE соответствует точке 16384 для PPJoy, а вещественный диапазон [-1.0..+1.0] для GlovPIE линейно отображается в целочисленный диапазон [1..32767] для PPJoy (перед записью записью через внутренний интерфейс драйвера PPJoy), так что точность позиционирования каждой оси загрубляется до 1/32767 от полного хода оси.

Простому игроку нет никакой необходимости изменять калибровку осей на этапе записи значений в драйвер, но при необходимости прямо через скрипт GlovPIE в каждой итерации для любых нужных осей PPJoy можно использовать отображение с несимметричной центровкой, нелинейной кривой отклика, ненулевыми мертвыми зонами и случайным шумом, чтобы программно эмулировать плохой джойстик с нелинейным откликом, несимметричным центром, низкой чувствительностью и случайными подергиваниями. Во всяком случае, если какая-то игра не поддерживает калибровку и настройку кривых отклика джойстиков, то уж это точно можно скомпенсировать через скрипт, предварительно искажая нужным образом позиции осей в каждой итерации (можно отобразить значения из линейного диапазона в нелинейный ещё перед тем, как GlovPIE выполнит очередную запись значений оси через внутренний интерфейс драйвера PPJoy).

На уровне стандартных HID устройств ввода (к которым относятся все сенсоры, клавиатуры, мыши, игровые контроллеры, педали, рули и джойстики при чтении сырых значений от HID устройств ввода через Raw Input) оси джойстиков PPJoy уже имеют разрешение по 36000 точек: от 0 до 35999 с центром в точке 17999. Хотя через внутренний интерфейс драйвера PPJoy оси имеют реальное разрешение по 32767 точки на ось (от 1 до 32767 при чтении/записи значений через специальный внутренний интерфейс драйвера PPJoy), но ради красивой круглой цифры драйвер PPJoy выполняет линейное отображение и растягивает этот диапазон так, что через интерфейс HID устройств ввода оси PPJoy формально уже имеют разрешение 36000 точек (от 0 до 35999 при чтении значений PPJoy через стандартный интерфейс HID устройств ввода). Естественно, что эти дутые «маркетинговые» 36000 точек на ось не повышают точности: реально на уровне драйвера используется не более 32767 различных значений, просто теперь они разбросаны в диапазоне от 0 до 35999.

Все программные оболочки и посредники (включая программный интерфейс DirectInput, который поддерживает только некоторые стандартные игровые HID устройства ввода, а так же продвинутые игры, поддерживающие любые HID устройства ввода через Raw Input без посредничества DirectInput), которые изначально работают напрямую с сырым вводом (Raw Input) от любых HID устройств ввода, в режиме внутриигровой калибровки автоматически обнаружат, что сырая (raw) позиция осей джойстика PPJoy меняется в диапазоне от 0 (минимум) до 35999 (максимум), когда игрок двигает оси.

Через системную калибровку джойстика для DirectInput (для игр, которые работают только со стандартными джойстиками через посредничество DirectInput) или в настройках внутриигровой калибровки (для продвинутых игр, которые поддерживают сырой ввод через Raw Input напрямую от любых HID устройств ввода) игрок должен явно указать, что он желает использовать для всех осей мышеджойстика линейные кривые отклика (чтобы точность не падала при отклонении от центра) или пусть даже нелинейные, но хотя бы симметричные относительно средней точки между минимумом и максимумом (чтобы амлитуда отклонения от центра была одинаковой в обе стороны).

В Windows XP для проверки и настройки калибровки DirectInput для PPJoy открываем » Пуск » -> » Настройка » -> » Панель управления » -> » Игровые устройства «, выбираем в списке » PPJoy Virtual Joystick 1 «, кнопка » Свойства «, вкладка » Настройка «, кнопка » Откалибровать. «. Мастер калибровки игровых устройств автоматически обнаружит, что сырая (raw) позиция осей джойстика PPJoy меняется в диапазоне от 0 (минимум) до 35999 (максимум), когда игрок двигает оси. Для правильной калибровки симметричной центровки рекомендуется установить все оси мышеджойстика точно в центр нажатием клавиши [F12] (переинициализация скрипта с центровкой осей) и нажать [Enter] (не двигая мышью), когда мастер калибровки попросит выставить оси по центру (можно использовать и грубую визуальную центровку, но если в момент калибровки выставить сдвинутый центр, то и играть придется с этим же сдвинутым центром).

Симметричная кривая отклика для DirectInput означает следующее:
в системе координат PPJoy — 0 в системе координат DirectInput;
17999..18000 в системе координат PPJoy — 32767..32768 в системе координат DirectInput;
35999 в системе координат PPJoy — 65535 в системе координат DirectInput;

Большинство игр (включая Ил-2) может работать с джойстиками только через интерфейс DirectInput, а при использовании этого посредника линейность и симметричность кривых отклика зависит от хранящихся в системном реестре калибровок DirectInput (см. предыдущий пункт).

Для компенсации низкой точности или нелинейности дешевых джойстиков некоторые игры (включая Ил-2) позволяют персонально (для выбранного профиля) настраивать удобные игроку мертвые зоны и нелинейные кривые отклика, но для мышеджойстика лучше использовать нулевые мертвые зоны и линейные (прямые) кривые отклика для всех осей (линейные кривые отклика в настройках Ил-2 означают «все по 100» для всех осей, а в конфиге «conf.ini» это выглядит как «X=0 10 20 30 40 50 60 70 80 90 100»).

Удобство симметриченой центровки и линейного отклика в том, что отработанные до автоматизма быстрые сдвиги мыши на фиксированные расстояния будут давать одинаковые (предсказуемые) результирующие относительные сдвиги оси, которые не зависят от текущей абсолютной позиции оси. После некоторой практики мозг буквально на автопилоте начнет заранее предсказывать результат сдвига мыши, позволяя уверенно сдвинуть ось в нужную позицию сразу одним быстрым движением (не теряя время на попытку поймать нужное положение оси).

Вопросы и ответы по мышеджойстику

Можно ли точно целиться на мышеджойстике без отдельных педалей?

Да, потому что для точного прицеливания вдоль любого направления достаточно одновременно управлять всего двумя рулями, лежащими в разных плоскостях: рулями направления (на оси X мыши) и рулями высоты (на оси Y мыши). Раздельное управление по крену совсем не обязательно, так как достаточно иметь автоматический синхронный крен именно в ту сторону, в которую не хватает эффективности управления по рысканью (к сожалению площадь фюзеляжа и фонаря в «вертикальной» плоскости рулей направления значительно меньше площади фюзеляжа и крыльев в «горизонтальной» плоскости рулей высоты, поэтому развороты через рысканье длятся значительно дольше разворотов через тангаж, а для быстрого разворота через тангаж приходится менять ориентацию по крену единственной имеющейся пары крыльев). Именно для этого на мышеджойстике ось X по умолчанию (при отпущенных кнопках) управляет не только рулями направления, но и элеронами одновременно.

Каждый раз, когда для прицеливания вам начинает не хватать малой скорости разворота через рысканье влево или вправо (т.е. при отклонении мыши влево/вправо на большую амплитуду длительное время), начинается автоматическое увеличение крена именно в эту сторону до тех пор, пока не произойдет частичная замена неэффективного управления по рысканью (слишком медленного из-за малой площади фюзеляжа) на более эффективное управления по тангажу (более быстрого за счет большой площади крыльев). Пока меняется крен (а он меняется медленно, если цель почти в прицеле и нужное направление по рысканью и тангажу почти поймано) вы не теряете время, а уже фактически подруливаете одновременно рулями направления и рулями высоты в этом же направлении, имея возможность плавно снизить скорость крена вплоть до нуля именно в тот необходимый и достаточный момент, когда будет поймано нужное направление прицеливания. При этом игроку достаточно следить только за направлением полёта по рысканью и тангажу, а нужная ориентация по крену автоматически подберется и стабилизируется в таком положении, которое скомпенсирует и гравитацию, и гироскопический момент, и даже пробитые крылья.

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

Можно ли крутить бочки на мышеджойстике без отдельных педалей?

Да, потому что для выдерживания неизменного направления на цели (при выполнении классической бочки) или неизменной высоты полета (при выполнении горизонтальной бочки) достаточно одновременно управлять всего двумя рулями, лежащими в разных плоскостях: рулями направления (на оси X мыши) и рулями высоты (на оси Y мыши). Раздельное управление по крену совсем не обязательно, так как достаточно просто зафиксировать элероны в крайнем положении (т.е. отклонить мышь влево/вправо и зажать правую кнопку), а во время вращения по крену выравнивать направление или углы атаки по рысканью и тангажу рулями направления и высоты (т.е. двигать мышь при зажатой правой кнопке).

Для полёта боком или для выполнения размазанной бочкой удобнее сделать наоборот: зафиксировать рули направления в крайнем положении (т.е. отклонить мышь влево/вправо и зажать левую кнопку), а во время полёта боком выдерживать нужный крен и тангаж элеронами и рулями высоты (т.е. двигать мышь при зажатой левой кнопке). Но так как площадь фюзеляжа и фонаря в «вертикальной» площади рулей направления сравнительно мала (для тяжелых самолётов), то на малых скоростях подъемной силы может и не хватить для компенсации силы гравитации. Хотя на некоторых легких самолётах с удачной центровкой (типа Spitfire), у которых хватает мощности форсированного двигателя и «вертикальной» площади фюзеляжа в плоскости рулей направления, после отстегивания одного крыла (т.е. после максимального облегчения планера) можно даже сесть на воду боком (рули направления фиксируются в крайнем положении в сторону оставшегося крыла, а элерон на оставшемся крыле используется для выравнивания крена на 90 градусов на глиссаде). Но это уже зависит от конструкции планера, а не от возможностей мышеджойстика. У многих самолётов масса и центровка просто не рассчитана для полётов боком без крыла.

Как вывести самолёт из штопора с помощью мышеджойстика?

Алгоритм быстрого вывода самолета из штопора с помощью мышеджойстика:
• Отпускаем левую кнопку мыши (режим управления рулем направления)
• Зажимаем правую кнопку мыши (режим фиксации элеронов и быстрого сброса тяги)
• Колесо прокрутки на себя (сбрасываем тягу до минимума)
• Мышь от себя (уменьшаем угол атаки рулем высоты)
• Мышь против направления вращения (препятствуем скольжению рулем направления)
• Зажимаем левую кнопку мыши (режим фиксации руля направления)
• Отпускаем правую кнопку (режим управления элеронами)
• Мышь в направлении вращении (помогаем вращению по крену элеронами)
• Ждем перехода самолета в управляемое сваливание с набором скорости

Как быстро отвязать управление джойстиком от движений мыши?

Для кратковременной фиксации только осей виртуального джойстика (например, при мышиной работе с картой) удобнее зажать и держать зажатой клавишу [ALT] (режим мышетрекира), но при этом движения мыши будут сбивать затриммированное направление обзора виртуального трекира. После отжатия клавиши [ALT] (возврат в режим мышеджойстика) мышь продолжит управлять мышеджойстиком с визуальной центровкой (при первом же сдвиге мыши курсор вернется ту позицию относительно экрана, которая соответствует текущему затриммированному положению осей мышеджойстика).

Для долговременного отключения и мышеджойстика, и мышетрекира (например, при мышином управлении турельными пулеметами) удобнее нажать [F10] (переключение во вспомогательный режим клаводжойстика + мыши), но при этом клавиши [Q, W, E, A, S, D] будут дергать оси виртуального джойстика (с автовозвратом в затриммированное положение). После нажатия клавиши [F9] (переключение в режим клавотрекира + мышеджойстика) мышь продолжит управлять мышеджойстиком с визуальной центровкой (при первом же сдвиге мыши курсор вернется ту позицию относительно экрана, которая соответствует текущему затриммированному положению осей мышеджойстика).

Для постоянного отключения и мышеджойстика, и мышетрекира, и клаводжойстика, и мышеджойстика удобнее всего остановить скрипт GlovPIE (либо комбинацией [SHIFT]+[P]+[I]+[E] с клавиатуры, либо нажатием кнопки «Stop» в окне GlovPIE, либо выбором «Run!» -> «Stop» в меню GlovPIE).

Можно ли использовать две мыши для параллельного триммирования разных осей?

Да, если в скрипте для GlovPIE заменить считывание значений Mouse.DirectInputX, Mouse.DirectInputY, Mouse.DirectInputZ от любой мыши на считывание значений Mouse1.DirectInputX, Mouse1.DirectInputY, Mouse1.DirectInputZ от первой мыши (Mouse1), добавить аналогичное считывание значений от второй мыши (Mouse2) и использовать сдвиги от разных мышек для управления разными осями.

Но в данном для примере скрипте предполагается, что левая рука лежит на клавиатуре не только для обзора через клавотрекир (параллельно с управлением мышеджойстиком правой рукой), но и для быстрого управления гашетками (пулеметы, пушки, бомбы, ракеты), механизацией (закрылки, воздушный тормоз, шасси), двигателем (радиатор, огнетушители, топливный корректор) и еще множеством разной полезной мелочи (дымы, АНО, фары, подсветка приборов, яркость прицела, карта).

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

Разве использование мышеджойстика не превращает симулятор в аркаду?

Нет, потому что управление самим самолётом в симуляторах остается нелинейным и непрямым (косвенным). Даже если положение осей джойстика напрямую управляет тягой и геометрией плоскостей (при симуляции жестких механических тяг между органами управления и плоскостями усилие передается почти мгновенно), то изменение тяги и геометрии лишь меняет силы, но любых изменений направления и скорости полёта всего самолёта в любом случае придется ждать в растянутом по времени процессе симуляции физики в игре.

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

Источник

Читайте также:  Настройка dtv в thomson
Adblock
detector