@@ -29,24 +29,43 @@ extern "C" {
2929#endif
3030
3131// Input action enum (must match C# enum)
32- typedef enum {
33- VPE_INPUT_LEFT_FLIPPER = 0 ,
34- VPE_INPUT_RIGHT_FLIPPER = 1 ,
35- VPE_INPUT_UPPER_LEFT_FLIPPER = 2 ,
36- VPE_INPUT_UPPER_RIGHT_FLIPPER = 3 ,
32+ typedef enum {
33+ VPE_INPUT_LEFT_FLIPPER = 0 ,
34+ VPE_INPUT_RIGHT_FLIPPER = 1 ,
35+ VPE_INPUT_UPPER_LEFT_FLIPPER = 2 ,
36+ VPE_INPUT_UPPER_RIGHT_FLIPPER = 3 ,
3737 VPE_INPUT_LEFT_MAGNASAVE = 4 ,
3838 VPE_INPUT_RIGHT_MAGNASAVE = 5 ,
3939 VPE_INPUT_START = 6 ,
4040 VPE_INPUT_PLUNGE = 7 ,
4141 VPE_INPUT_PLUNGER_ANALOG = 8 ,
4242 VPE_INPUT_COIN_INSERT_1 = 9 ,
4343 VPE_INPUT_COIN_INSERT_2 = 10 ,
44- VPE_INPUT_COIN_INSERT_3 = 11 ,
45- VPE_INPUT_COIN_INSERT_4 = 12 ,
46- VPE_INPUT_EXIT_GAME = 13 ,
47- VPE_INPUT_SLAM_TILT = 14 ,
48- VPE_INPUT_MAX = 32 // Reserve space for future actions
49- } VpeInputAction ;
44+ VPE_INPUT_COIN_INSERT_3 = 11 ,
45+ VPE_INPUT_COIN_INSERT_4 = 12 ,
46+ VPE_INPUT_EXIT_GAME = 13 ,
47+ VPE_INPUT_SLAM_TILT = 14 ,
48+ VPE_INPUT_LEFT_STAGED_FLIPPER = 15 ,
49+ VPE_INPUT_RIGHT_STAGED_FLIPPER = 16 ,
50+ VPE_INPUT_LEFT_NUDGE = 17 ,
51+ VPE_INPUT_RIGHT_NUDGE = 18 ,
52+ VPE_INPUT_CENTER_NUDGE = 19 ,
53+ VPE_INPUT_TILT = 20 ,
54+ VPE_INPUT_EXTRA_BALL = 21 ,
55+ VPE_INPUT_LOCKBAR = 22 ,
56+ VPE_INPUT_PAUSE_GAME = 23 ,
57+ VPE_INPUT_COIN_DOOR = 24 ,
58+ VPE_INPUT_RESET = 25 ,
59+ VPE_INPUT_SERVICE_1 = 26 ,
60+ VPE_INPUT_SERVICE_2 = 27 ,
61+ VPE_INPUT_SERVICE_3 = 28 ,
62+ VPE_INPUT_SERVICE_4 = 29 ,
63+ VPE_INPUT_SERVICE_5 = 30 ,
64+ VPE_INPUT_SERVICE_6 = 31 ,
65+ VPE_INPUT_SERVICE_7 = 32 ,
66+ VPE_INPUT_SERVICE_8 = 33 ,
67+ VPE_INPUT_MAX = 64 // Reserve space for future actions
68+ } VpeInputAction ;
5069
5170// Input binding type
5271typedef enum {
@@ -61,18 +80,52 @@ typedef enum {
6180 VPE_KEY_RSHIFT = 0xA1 ,
6281 VPE_KEY_LCONTROL = 0xA2 ,
6382 VPE_KEY_RCONTROL = 0xA3 ,
83+ VPE_KEY_LALT = 0xA4 ,
84+ VPE_KEY_RALT = 0xA5 ,
85+ VPE_KEY_ESCAPE = 0x1B ,
6486 VPE_KEY_SPACE = 0x20 ,
87+ VPE_KEY_PAGEUP = 0x21 ,
88+ VPE_KEY_PAGEDOWN = 0x22 ,
89+ VPE_KEY_END = 0x23 ,
90+ VPE_KEY_HOME = 0x24 ,
6591 VPE_KEY_RETURN = 0x0D ,
92+ VPE_KEY_F1 = 0x70 ,
93+ VPE_KEY_F2 = 0x71 ,
94+ VPE_KEY_F3 = 0x72 ,
95+ VPE_KEY_F4 = 0x73 ,
96+ VPE_KEY_F5 = 0x74 ,
97+ VPE_KEY_F6 = 0x75 ,
98+ VPE_KEY_F7 = 0x76 ,
99+ VPE_KEY_F8 = 0x77 ,
100+ VPE_KEY_F9 = 0x78 ,
101+ VPE_KEY_F10 = 0x79 ,
102+ VPE_KEY_F11 = 0x7A ,
103+ VPE_KEY_F12 = 0x7B ,
104+ VPE_KEY_D0 = 0x30 ,
66105 VPE_KEY_D1 = 0x31 ,
67106 VPE_KEY_NUM1 = 0x31 ,
107+ VPE_KEY_D2 = 0x32 ,
108+ VPE_KEY_D3 = 0x33 ,
109+ VPE_KEY_D4 = 0x34 ,
68110 VPE_KEY_D5 = 0x35 ,
69111 VPE_KEY_NUM5 = 0x35 ,
112+ VPE_KEY_D6 = 0x36 ,
113+ VPE_KEY_D7 = 0x37 ,
114+ VPE_KEY_D8 = 0x38 ,
115+ VPE_KEY_D9 = 0x39 ,
116+ VPE_KEY_O = 0x4F ,
117+ VPE_KEY_P = 0x50 ,
118+ VPE_KEY_T = 0x54 ,
119+ VPE_KEY_Y = 0x59 ,
70120 VPE_KEY_NUMPAD1 = 0x61 ,
71121 VPE_KEY_A = 0x41 ,
122+ VPE_KEY_B = 0x42 ,
72123 VPE_KEY_S = 0x53 ,
73124 VPE_KEY_D = 0x44 ,
74125 VPE_KEY_W = 0x57 ,
75- // Add more as needed
126+ VPE_KEY_MINUS = 0xBD , // VK_OEM_MINUS
127+ VPE_KEY_QUOTE = 0xDE , // VK_OEM_7
128+ VPE_KEY_CARET = 0xC0 , // VK_OEM_3 (layout dependent)
76129} VpeKeyCode ;
77130
78131// Input event structure (matches C# struct layout)
0 commit comments