Windows — как имитировать событие клавиатуры в переполнении стека

Я могу успешно смоделировать некоторые нажатия клавиш, используя keybd_event функция. Но я не знаю, как имитировать буквенно-цифровые клавиши клавиатуры.
Например, есть игра, которая работает нажатием клавиши «d» на клавиатуре. Так как мне смоделировать нажатие этой клавиши?

Следующий код работает для клавиши со стрелкой вверх.

keybd_event(VK_UP,0x26,0,0);

0

Решение

Буквенно-цифровые коды виртуальных ключей совпадают со значением ASCII в верхнем регистре.

Таким образом, чтобы нажать клавишу «D», keybd_event('D',...),

0

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

В X11 вы можете сделать это с помощью XTestFakeKeyEvent api.

Следующий код будет имитировать событие нажатия клавиши F5.

XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_F5), True, 0);
XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_F5), False, 0);
0