Signed-off-by: Rémi Bernon <rbernon(a)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); } -- 2.31.0