2015-05-31 7 views
1

Я скоро получу летную палочку для программы Kerbal Space и надеялся на AHK-ify, как и на все другие периферийные устройства, которые я использую на своем компьютере. Я знаю, как переназначить кнопки джойстика, и как получить показания для осей полетной ручки и дроссельной заслонки, но я не уверен, как управлятьосей практически с помощью AutoHotkey. Я видел некоторые упоминания об интеграции библиотек с vJoy и другими программами, но они выглядят сложными, и я не понял, как их использовать. Можно ли манипулировать осями джойстика в чистом AHK v1.1?Управление осями джойстика с помощью AutoHotkey

ответ

1

Нет, невозможно изменить, как сообщает физический джойстик с помощью любого стороннего программного обеспечения, не говоря уже о AutoHotkey.

Однако X360CE может изменить, как игра видит панель XBox, поскольку она вставляет поддельную XInput DLL в папку с игрой, поэтому, когда игра вызывает вызовы XInput, она перехватывает их.

Очевидно, что если джойстик поставляется с драйвером, программное обеспечение может изменить способ записи палки.

Существует, однако, обходное решение:
Установите Shaul's vJoy, затем вы можете создать фальшивую «виртуальную» палку.
Затем вы читаете ввод с физической палки и записываете (измененное) состояние в виртуальную палку vJoy.

Я написал библиотеку под названием CvJoyInterface, которая делает доступ к vJoy из AHK очень простым.

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

Если вы хотите сделать такое переназначение, не прибегая к кодированию, я пишу приложение на основе AutoHotkey под названием UCR, которое может сделать все это за вас.
UCR также включает в себя функцию «GameBind», которая позволяет вставлять задержку во все ваши перенаправления, чтобы вы могли переместить палку, затем нажмите кнопку привязки в игре и дождитесь, когда UCR переместит палку после задержки, поэтому игра видит только движение виртуальной палки.
Как только вы сделали все свои привязки в игре, выключите GameBind.

Существует новый набор приложений, написанных под названием ViGEm, один из компонентов которого называется HidGuardian. Когда это будет закончено, это должно позволить нам скрыть физическую палку от всего, кроме переназначения приложений, таких как UCR, что позволяет нам делать правильное переназначение, не прибегая к задержке ввода и т. Д.