Simulando o movimento do mouse (ou joystick) com o teclado no Win 7

2

Praticamente o que as "Teclas do Mouse" podem ser ativadas através do Centro de Facilidade de Acesso, somente aquelas que são inúteis porque são extremamente lentas e têm um atraso no início.

Mais algumas informações: há um jogo que eu jogo semelhante a um simulador de vôo, mas o guincho e o tom são controlados pelo mouse e não há nenhuma opção no jogo para remapear isso para os botões do teclado. Então, o que eu quero é que, se eu pressionar a tecla 4 no teclado numérico (ou alguma outra tecla, não me importo), o jogo reage como se eu estivesse movendo o mouse para a esquerda, sem atraso ou aceleração, da mesma forma que funciona em simuladores de voo normais, onde você usa um teclado por padrão.

Eu não preciso das direções diagonais, apenas para cima / baixo e esquerda / direita seria o suficiente. Como não serei capaz de controlar a velocidade do cursor, precisarei de alguma maneira para definir uma velocidade fixa que pareça correta no jogo, de preferência separadamente para cada eixo.

Edit: Desde o mapeamento de algumas teclas para joysticks também funcionaria eu tentei encontrar um programa que faz isso, mas sem sorte. Parece que todo mundo precisa mapear os botões do joystick para as teclas do teclado, mas não o contrário. Certamente isso não pode ser tão difícil assim?

And G
fonte
Eu tentei editar a entrada de registro para mousekeys e definindo a aceleração de configuração mais baixa (1000) para 0, mas apenas continuou trabalhando como se fosse 1000. Você pode remapear o Pitch e Yaw para qualquer outra coisa, como um controlador de console ou Controle de video game?
Jack
Eu posso escolher entre mouse e joystick. Eu não tenho um joystick, então eu não tentei como funciona, mas se eu pudesse mapear uma chave para a direção do joystick, isso provavelmente resolveria o meu problema também.
And G

Respostas:

2

A solução é chamada AutoHotkey e um tutorial para iniciantes pode ser encontrado Aqui .

Este é o meu script:

#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 é a tecla numérica do meio, portanto, isso permite usar um padrão WASD no teclado numérico (8456).

And G
fonte