Низкоуровневая программная эмуляция клавиатуры

Я купил физическую кнопку и подключил ее к своему компьютеру, используя Arduino, который через USB-порт связывается с программой на C ++, которую я пишу. Теперь я хочу, чтобы кнопка имитировала нажатие клавиш на моем компьютере, чтобы я мог использовать ее в качестве альтернативного контроллера для игр, в которые я играю.

Если вы не знакомы с Arduino, не берите в голову, моя проблема полностью в C ++

Решение для этого довольно простое, оно в основном сводится к использованию SendMessage к окну с нажатиями клавиш, или ко многим альтернативным методам, таким как sendKeys, а что нет.

Я пробовал каждую библиотеку или функцию Windows, которая могла бы обрабатывать что-то подобное, но ни одна из них на самом деле не имитирует нажатие клавиши на клавиатуре.

Все, что я пробовал до сих пор, работало во многих программах, таких как Notepad и Chrome, но ни одна из них не работает с игрой, которая не слушает сообщения Windows для обработки ввода с клавиатуры.

Я предполагаю, что в этих играх используется GetAsyncKeyState, который напрямую взаимодействует с физической клавиатурой.

Как я мог решить это? Какой API предоставляет такую ​​функциональность?

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

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

Я надеюсь, что кто-то может помочь,
Спасибо!

2

Решение

использование keybd_event() или же SendInput()

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]