Имитация частично нажатых клавиш в VB.net - PullRequest
0 голосов
/ 25 июня 2019

Можно ли имитировать аналоговую клавиатуру или поведение джойстика в vb.net?Традиционную клавиатуру можно нажимать только на включение или выключение, однако джойстик или аналоговая клавиатура будут иметь вход, позволяющий сказать, что игра зависит от величины давления или от того, насколько далеко перемещается аналоговый джойстик.Я хотел бы иметь возможность нажать кнопку на моей обычной клавиатуре, а затем сделать так, чтобы программа имитировала, скажем, 50% нажатие от аналоговой клавиатуры.Возможно ли это вообще и как я подхожу к решению?

1 Ответ

0 голосов
/ 25 июня 2019

Нет, это невозможно.От Microsoft :

Как указано ранее, в элементе управления могут происходить 3 события, связанные с клавиатурой.В следующей последовательности показан общий порядок событий:

  1. Пользователь нажимает клавишу «a», ключ предварительно обрабатывается, отправляется, и происходит событие KeyDown.

  2. Пользователь держит клавишу «a», ключ предварительно обрабатывается, отправляется, и происходит событие KeyPress.Это событие происходит несколько раз, поскольку пользователь держит ключ.

  3. Пользователь отпускает клавишу «a», ключ предварительно обрабатывается, отправляется и происходит событие KeyUp.

Учитывая, что Key Down является событием или (или при любом пороге, когда клавиша вступает в контакт с клавиатурой, она запускает событие), в Window OS / vb.net нет способа зарегистрировать частичноенажатие клавиши.

В некоторых работах, которые я делал в прошлом, я использовал симулятор джойстика (называемый vJoy ) для имитации движений джойстика, которые могут находиться в диапазоне от 0% до 100% диапазона движения.,Но опять же, это не будет работать с клавишами клавиатуры, так как сама операционная система распознает только три события выше.

...