Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- dlls/user32/rawinput.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/dlls/user32/rawinput.c b/dlls/user32/rawinput.c index 7796a65641e..129c1933c36 100644 --- a/dlls/user32/rawinput.c +++ b/dlls/user32/rawinput.c @@ -39,6 +39,7 @@
#include "initguid.h" #include "ntddmou.h" +#include "ntddkbd.h"
WINE_DEFAULT_DEBUG_CHANNEL(rawinput);
@@ -211,6 +212,21 @@ static void find_devices(void)
SetupDiDestroyDeviceInfoList(set);
+ set = SetupDiGetClassDevsW(&GUID_DEVINTERFACE_KEYBOARD, NULL, NULL, DIGCF_DEVICEINTERFACE | DIGCF_PRESENT); + + for (idx = 0; SetupDiEnumDeviceInterfaces(set, NULL, &GUID_DEVINTERFACE_KEYBOARD, idx, &iface); ++idx) + { + static const RID_DEVICE_INFO_KEYBOARD keyboard_info = {0, 0, 1, 12, 3, 101}; + + if (!(device = add_device(set, &iface))) + continue; + + device->info.dwType = RIM_TYPEKEYBOARD; + device->info.u.keyboard = keyboard_info; + } + + SetupDiDestroyDeviceInfoList(set); + LeaveCriticalSection(&rawinput_devices_cs); }