1 (изменено: G13, 2013-05-06 14:55:46)

Тема: Совместная работа с Геймпадом

Здравствуйте!
Написал скрипт, который проверяет выполнение некоторых условий и по результатам проверки отправляет в игру нажатия клавиш. К сожалению, игровая защита не пропускает данные действия.
Нашел на офф. сайте советы при подобных проблемах.

Why do Hotstrings, Send, and Click have no effect in certain games?
Some games use DirectInput exclusively. As a side-effect, they might ignore all simulated keystrokes and mouse clicks. To work around this, try one of the following (or a combination):

  • Use SendPlay via: 1) the SendPlay command; 2) using SendMode Play; and/or 3) the hotstring option SP.

  • Increase SetKeyDelay. For example:
        SetKeyDelay, 0, 50
        SetKeyDelay, 0, 50, Play

  • Try ControlSend, which might work in cases where the other Send modes fail.

Но они мне не помогли.

Я знаю, что игровая защита не блокирует работу геймпадов, которые имеют собственную память. Например Logitech G13.
И возникла такая мысль. Перенести на макросы геймпада ту часть скрипта, которая отправляет нажатия клавиш в игру. В AHK оставить проверку условий. И теперь самое сложное, можно ли как-нибудь средствами AHK  "нажать" кнопку на геймпаде, запустив тем самым макросы геймпада?

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

2

Re: Совместная работа с Геймпадом

Autohotkey не жмёт кнопки, а генерирует нажатия. Управлять из скрипта макросами геймпада возможно лишь в том случае, если у геймпада есть драйвер, предоставляющий возможность «извне» инициализировать воспроизведения сохранённых макросов.

средствами AHK  "нажать" кнопку на геймпаде

Средствами AHK нельзя нажать кнопку.

3 (изменено: G13, 2013-05-06 15:13:19)

Re: Совместная работа с Геймпадом

Спасибо за быстрый ответ.

Я просто как подумал. Вот жму я на геймпаде рукой кнопку G1. Она же как-то обозначается в системе, по аналогии с клавишами стандартной клавиатуры? Расчитывал, что если написать в AHK, например:

F1::sendplay {G1}

то получится все как я хотел. Само собой, вместо {G1} нужно что-то другое. Даже думал, что есть вспомогательные программки на подобие Window Spy, которые и помогут мне поймать точный идентификатор {G1}.

Слишком размечтался Ладно, буду искать другие варианты.

4 (изменено: G13, 2013-05-06 15:24:25)

Re: Совместная работа с Геймпадом

Только поясните, мне пожалуйста такой момент. Люди же назначают как-то на клавиши геймпада скрипты AHK?
Как например открыть калькулятор с помощью геймпада?

G1:: run calc.exe

Что тут будет вместо G1? Или даже этого нельзя сделать?

п.с. я совсем не программист и очень от этого далек, отсюда такие вопросы.

5 (изменено: serzh82saratov, 2013-05-06 16:39:56)

Re: Совместная работа с Геймпадом

Список клавиш и кнопок мыши/джойстика

Joystick Test Script
Указать JoystickNumber = №

Скрипт для получения имени, кода и синтаксиса нажатых кнопок:
Просто скачать Detect_Buttton.ahk

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

6 (изменено: serzh82saratov, 2013-05-06 16:19:17)

Re: Совместная работа с Геймпадом

Что-то типа:


1Joy1:: run calc.exe

F1::sendplay {1Joy1}
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.29.01 (Unicode 32-bit).

7

Re: Совместная работа с Геймпадом

Скрипт для получения имени, кода и синтаксиса нажатых кнопок:
Просто скачать Detect_Buttton.ahk

Большое спасибо, то что нужно. Буду пробовать.