From: Fabian Maurer Subject: [PATCH 2/3] user32: Add stub for GetPointerDevices Message-Id: <20180607203906.16851-2-dark.shadow4@web.de> Date: Thu, 7 Jun 2018 22:39:05 +0200 In-Reply-To: <20180607203906.16851-1-dark.shadow4@web.de> References: <20180607203906.16851-1-dark.shadow4@web.de> Fixes bug 45302. Signed-off-by: Fabian Maurer --- ...ms-win-rtcore-ntuser-wmpointer-l1-1-0.spec | 2 +- dlls/user32/misc.c | 17 ++++++++++++++++ dlls/user32/user32.spec | 1 + include/winuser.h | 20 +++++++++++++++++++ 4 files changed, 39 insertions(+), 1 deletion(-) diff --git a/dlls/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0.spec b/dlls/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0.spec index 72cfe3d954..3a043dc9c2 100644 --- a/dlls/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0.spec +++ b/dlls/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0.spec @@ -4,7 +4,7 @@ @ stub GetPointerDevice @ stub GetPointerDeviceProperties @ stub GetPointerDeviceRects -@ stub GetPointerDevices +@ stdcall GetPointerDevices(ptr ptr) user32.GetPointerDevices @ stub GetPointerFrameInfo @ stub GetPointerFrameInfoHistory @ stub GetPointerFramePenInfo diff --git a/dlls/user32/misc.c b/dlls/user32/misc.c index c3f4030a90..4cc54df412 100644 --- a/dlls/user32/misc.c +++ b/dlls/user32/misc.c @@ -846,6 +846,23 @@ BOOL WINAPI RegisterPointerDeviceNotifications(HWND hwnd, BOOL notifyrange) return TRUE; } +/********************************************************************** + * GetPointerDevices [USER32.@] + */ +BOOL WINAPI GetPointerDevices(UINT32 *device_count, POINTER_DEVICE_INFO *devices) +{ + FIXME("(%p %p): stub\n", device_count, devices); + + if (!device_count) + return FALSE; + + if (!devices) + *device_count = 0; + + return TRUE; +} + + static const WCHAR imeW[] = {'I','M','E',0}; const struct builtin_class_descr IME_builtin_class = { diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 2e5b203a85..7f652ee722 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -354,6 +354,7 @@ @ stdcall GetOpenClipboardWindow() @ stdcall GetParent(long) @ stdcall GetPhysicalCursorPos(ptr) +@ stdcall GetPointerDevices(ptr ptr) @ stdcall GetPriorityClipboardFormat(ptr long) @ stdcall GetProcessDefaultLayout(ptr) @ stdcall GetProcessDpiAwarenessInternal(long ptr) diff --git a/include/winuser.h b/include/winuser.h index 648efbe0e2..f546a4a1f3 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -3357,6 +3357,26 @@ typedef struct tagGESTUREINFO { } GESTUREINFO, *PGESTUREINFO; typedef GESTUREINFO const * PCGESTUREINFO; +#define POINTER_DEVICE_PRODUCT_STRING_MAX 520 + +typedef enum tagPOINTER_DEVICE_TYPE { + POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001, + POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002, + POINTER_DEVICE_TYPE_TOUCH = 0x00000003, + POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004, + POINTER_DEVICE_TYPE_MAX = 0xFFFFFFFF +} POINTER_DEVICE_TYPE; + +typedef struct tagPOINTER_DEVICE_INFO { + DWORD displayOrientation; + HANDLE device; + POINTER_DEVICE_TYPE pointerDeviceType; + HMONITOR monitor; + ULONG startingCursorId; + USHORT maxActiveContacts; + WCHAR productString[POINTER_DEVICE_PRODUCT_STRING_MAX]; +} POINTER_DEVICE_INFO; + #if defined(_WINGDI_) && !defined(NOGDI) WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA,DWORD); WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW,DWORD); -- 2.17.1