Bonjour,
j'essaie de simuler des events du clavier (KeyDown, KeyUp), cependant ça ne semble pas fonctionner sous les application SDL.
Mon bout de code simule un keydown-keyup de la touche "z". Ca fonctionne pour Notepad, mais lorsque j'essaie avec VisualBoyAdvance (Emulateur GBA avec SDL), ça ne fonctionne que dans les menus et non dans la fenêtre SDL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #include <Windows.h> #include <iostream> using namespace std; int main() { bool bDone = false; INPUT aiKeyDownUp[2]; BYTE wScanCode = MapVirtualKey( 0x5A, MAPVK_VK_TO_VSC); ZeroMemory(aiKeyDownUp, sizeof(aiKeyDownUp)); for (int i=0; i<2; i++) { aiKeyDownUp[i].type = INPUT_KEYBOARD; aiKeyDownUp[i].ki.wVk = 0x5A; aiKeyDownUp[i].ki.wScan = wScanCode; aiKeyDownUp[i].ki.dwFlags = i==1 ? 0 : KEYEVENTF_KEYUP | KEYEVENTF_SCANCODE; aiKeyDownUp[i].ki.time = 0; aiKeyDownUp[i].ki.dwExtraInfo = 0; } while(!bDone) { SendInput(2, aiKeyDownUp, sizeof(INPUT)); Sleep(1000); } return 0; }
Partager