int no_rawinput = 0;
int no_directinput = 0;
int no_windowsmouse = 0;
+int winekeyboard = 0;
#define _WIN32_WINNT 0x501 /* enable RAWINPUT support */
write_log (_T("VK->CODE: %x\n"), scancode);
}
- if (rk->VKey == 0xff || (rk->Flags & RI_KEY_E0))
+ if (rk->VKey == 0xff || ((rk->Flags & RI_KEY_E0) && !(winekeyboard && rk->VKey == VK_NUMLOCK)))
+ scancode |= 0x80;
+ if (winekeyboard && rk->VKey == VK_PAUSE)
scancode |= 0x80;
if (rk->MakeCode == KEYBOARD_OVERRUN_MAKE_CODE)
return;
{ 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd } };
extern int harddrive_dangerous, do_rdbdump;
-extern int no_rawinput, no_directinput, no_windowsmouse;
+extern int no_rawinput, no_directinput, no_windowsmouse, winekeyboard;
extern int force_directsound;
extern int log_a2065, a2065_promiscuous, log_ethernet;
extern int rawinput_enabled_hid, rawinput_log;
no_windowsmouse = 1;
return 1;
}
+ if (!_tcscmp(arg, _T("winekeyboard"))) {
+ winekeyboard = 1;
+ return 1;
+ }
if (!_tcscmp(arg, _T("rawhid"))) {
rawinput_enabled_hid = 1;
return 1;