Имитация движения мыши (или джойстика) с помощью клавиатуры в Win 7
Практически то, что делают "клавиши мыши", которые можно активировать через Ease of Access Center, только бесполезны, потому что они чрезвычайно медленные и имеют задержку при запуске.
Немного больше информации: есть игра, в которую я играю, которая похожа на симулятор полета, но рыскание и тангаж контролируются мышью, и в игре нет возможности переназначить это на кнопки клавиатуры. Так что я хочу, чтобы, если я нажму клавишу 4 на цифровой клавиатуре (или какую-то другую клавишу, мне все равно), то игра будет реагировать так, как будто я перемещаю мышь влево, без задержки, ускорения или чего-то еще, так же, как это работает в обычных симуляциях полета, где вы используете клавиатуру по умолчанию.
Мне не нужны диагональные направления, достаточно было бы просто вверх / вниз и влево / вправо. Так как я не смогу контролировать скорость курсора, мне понадобится какой-то способ установить фиксированную скорость, которая будет ощущаться в игре, желательно отдельно для каждой оси.
Изменить: Так как отображение некоторых клавиш на оси джойстика также будет работать, я попытался найти программу, которая делает это, но безуспешно. Кажется, всем нужно сопоставить кнопки джойстика с клавишами на клавиатуре, но не наоборот. Конечно, это не может быть так сложно?
1 ответ
Решение называется AutoHotkey, и руководство для начинающих можно найти здесь.
Это мой сценарий:
#Persistent
SetTimer, Main, 1
return
Main:
if (GetKeyState("Up", "P"))
MouseMove, 0, -25, 0, R
if (GetKeyState("Down", "P") or GetKeyState("NumpadClear", "P"))
MouseMove, 0, 25, 0, R
if (GetKeyState("Right", "P"))
MouseMove, 50, 0, 0, R
if (GetKeyState("Left", "P"))
MouseMove, -50, 0, 0, R
return
NumpadClear - это средний ключ цифровой клавиатуры, поэтому он позволяет использовать шаблон WASD для цифровой клавиатуры (8456).