Я купил физическую кнопку и подключил ее к своему компьютеру, используя Arduino, который через USB-порт связывается с программой на C ++, которую я пишу. Теперь я хочу, чтобы кнопка имитировала нажатие клавиш на моем компьютере, чтобы я мог использовать ее в качестве альтернативного контроллера для игр, в которые я играю.
Если вы не знакомы с Arduino, не берите в голову, моя проблема полностью в C ++
Решение для этого довольно простое, оно в основном сводится к использованию SendMessage к окну с нажатиями клавиш, или ко многим альтернативным методам, таким как sendKeys, а что нет.
Я пробовал каждую библиотеку или функцию Windows, которая могла бы обрабатывать что-то подобное, но ни одна из них на самом деле не имитирует нажатие клавиши на клавиатуре.
Все, что я пробовал до сих пор, работало во многих программах, таких как Notepad и Chrome, но ни одна из них не работает с игрой, которая не слушает сообщения Windows для обработки ввода с клавиатуры.
Я предполагаю, что в этих играх используется GetAsyncKeyState, который напрямую взаимодействует с физической клавиатурой.
Как я мог решить это? Какой API предоставляет такую функциональность?
Мне нужно что-то очень низкое, здесь, может быть, даже программа, которая эмулирует новую клавиатуру, поэтому Windows думает, что я подключил физическую.
Это помогло бы мне, В общем, я сталкивался с этой проблемой много раз, и я буду сталкиваться с ней в ближайшем будущем с другими проектами.
Я надеюсь, что кто-то может помочь,
Спасибо!
использование keybd_event()
или же SendInput()
Других решений пока нет …