diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 50edc0e91..2dd988253 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,34 @@ +2003-09-29 Dimitri Papadopoulos + + * include/winuser.h [_WIN32_WINNT >= 0x0501] (RIM_TYPEMOUSE, + RIM_TYPEKEYBOARD, RIM_TYPEHID, MOUSE_MOVE_RELATIVE, + MOUSE_MOVE_ABSOLUTE, MOUSE_VIRTUAL_DESKTOP, + MOUSE_ATTRIBUTES_CHANGED, RI_MOUSE_LEFT_BUTTON_DOWN, + RI_MOUSE_LEFT_BUTTON_UP, RI_MOUSE_RIGHT_BUTTON_DOWN, + RI_MOUSE_RIGHT_BUTTON_UP, RI_MOUSE_MIDDLE_BUTTON_DOWN, + RI_MOUSE_MIDDLE_BUTTON_UP, RI_MOUSE_BUTTON_1_DOWNT_BUTTON_DOWN, + RI_MOUSE_BUTTON_1_UP, RI_MOUSE_BUTTON_2_DOWNHT_BUTTON_DOWN, + RI_MOUSE_BUTTON_2_UP, RI_MOUSE_BUTTON_3_DOWNDLE_BUTTON_DOWN, + RI_MOUSE_BUTTON_3_UP, RI_MOUSE_BUTTON_4_DOWN, + RI_MOUSE_BUTTON_4_UP, RI_MOUSE_BUTTON_5_DOWN, + RI_MOUSE_BUTTON_5_UP, RI_MOUSE_WHEEL, KEYBOARD_OVERRUN_MAKE_CODE, + RI_KEY_MAKE, RI_KEY_BREAK, RI_KEY_E0, RI_KEY_E1, + RI_KEY_TERMSRV_SET_LED, RI_KEY_TERMSRV_SHADOW, RID_INPUT, + RID_HEADER, RIDI_PREPARSEDDATA, RIDI_DEVICENAME, + RIDI_DEVICEINFO): Add constants. + + * include/winuser.h [_WIN32_WINNT >= 0x0501] (RAWINPUTHEADER, + RAWMOUSE, RAWKEYBOARD, RAWHID, RAWINPUT, RAWINPUTDEVICE, + RAWINPUTDEVICELIST): Add structures. + + * include/winuser.h [_WIN32_WINNT >= 0x0501] (DefRawInputProc, + GetRawInputBuffer, GetRawInputData, GetRawInputDeviceInfo, + GetRawInputDeviceList, GetRegisteredRawInputDevices): Add functions. + + * lib/user32.def (DefRawInputProc, GetRawInputBuffer, + GetRawInputData, GetRawInputDeviceInfo, GetRawInputDeviceList, + GetRegisteredRawInputDevices): Add functions. + 2003-09-26 Dimitri Papadopoulos * include/winable.h (BlockInput): Add function. diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index 40fb812b3..7c27ec46a 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -2127,6 +2127,42 @@ extern "C" { #endif #if (_WIN32_WINNT >= 0x0501) #define PW_CLIENTONLY 0x00000001 +#define RIM_TYPEMOUSE 0x00000000 +#define RIM_TYPEKEYBOARD 0x00000001 +#define RIM_TYPEHID 0x00000002 +#define MOUSE_MOVE_RELATIVE 0x00000000 +#define MOUSE_MOVE_ABSOLUTE 0x00000001 +#define MOUSE_VIRTUAL_DESKTOP 0x00000002 +#define MOUSE_ATTRIBUTES_CHANGED 0x00000004 +#define RI_MOUSE_LEFT_BUTTON_DOWN 0x0001 +#define RI_MOUSE_LEFT_BUTTON_UP 0x0002 +#define RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004 +#define RI_MOUSE_RIGHT_BUTTON_UP 0x0008 +#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010 +#define RI_MOUSE_MIDDLE_BUTTON_UP 0x0020 +#define RI_MOUSE_BUTTON_1_DOWN RI_MOUSE_LEFT_BUTTON_DOWN +#define RI_MOUSE_BUTTON_1_UP RI_MOUSE_LEFT_BUTTON_UP +#define RI_MOUSE_BUTTON_2_DOWN RI_MOUSE_RIGHT_BUTTON_DOWN +#define RI_MOUSE_BUTTON_2_UP RI_MOUSE_RIGHT_BUTTON_UP +#define RI_MOUSE_BUTTON_3_DOWN RI_MOUSE_MIDDLE_BUTTON_DOWN +#define RI_MOUSE_BUTTON_3_UP RI_MOUSE_MIDDLE_BUTTON_UP +#define RI_MOUSE_BUTTON_4_DOWN 0x0040 +#define RI_MOUSE_BUTTON_4_UP 0x0080 +#define RI_MOUSE_BUTTON_5_DOWN 0x0100 +#define RI_MOUSE_BUTTON_5_UP 0x0200 +#define RI_MOUSE_WHEEL 0x0400 +#define KEYBOARD_OVERRUN_MAKE_CODE 0x00ff +#define RI_KEY_MAKE 0x0000 +#define RI_KEY_BREAK 0x0001 +#define RI_KEY_E0 0x0002 +#define RI_KEY_E1 0x0004 +#define RI_KEY_TERMSRV_SET_LED 0x0008 +#define RI_KEY_TERMSRV_SHADOW 0x0010 +#define RID_INPUT 0x10000003 +#define RID_HEADER 0x10000005 +#define RIDI_PREPARSEDDATA 0x20000005 +#define RIDI_DEVICENAME 0x20000007 +#define RIDI_DEVICEINFO 0x2000000b #endif #ifndef RC_INVOKED @@ -2910,7 +2946,60 @@ typedef struct { HWND hwnd; LUID luid; } BSMINFO,*PBSMINFO; -#endif /* (WINVER >= 0x0501) */ +DECLARE_HANDLE(HRAWINPUT); +typedef struct tagRAWINPUTHEADER { + DWORD dwType; + DWORD dwSize; + HANDLE hDevice; + WPARAM wParam; +} RAWINPUTHEADER,*PRAWINPUTHEADER; +typedef struct tagRAWMOUSE { + USHORT usFlags; + _ANONYMOUS_UNION union { + ULONG ulButtons; + struct { + USHORT usButtonFlags; + USHORT usButtonData; + }; + }; + ULONG ulRawButtons; + LONG lLastX; + LONG lLastY; + ULONG ulExtraInformation; +} RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE; +typedef struct tagRAWKEYBOARD { + USHORT MakeCode; + USHORT Flags; + USHORT Reserved; + USHORT VKey; + UINT Message; + ULONG ExtraInformation; +} RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD; +typedef struct tagRAWHID { + DWORD dwSizeHid; + DWORD dwCount; + BYTE bRawData; +} RAWHID,*PRAWHID,*LPRAWHID; +typedef struct tagRAWINPUT { + RAWINPUTHEADER header; + _ANONYMOUS_UNION union { + RAWMOUSE mouse; + RAWKEYBOARD keyboard; + RAWHID hid; + } data; +} RAWINPUT,*PRAWINPUT,*LPRAWINPUT; +typedef struct tagRAWINPUTDEVICE { + USHORT usUsagePage; + USHORT usUsage; + DWORD dwFlags; + HWND hwndTarget; +} RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE; +typedef const RAWINPUTDEVICE *PCRAWINPUTDEVICE; +typedef struct tagRAWINPUTDEVICELIST { + HANDLE hDevice; + DWORD dwType; +} RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST; +#endif /* (_WIN32_WINNT >= 0x0501) */ #define AnsiToOem CharToOemA #define OemToAnsi OemToCharA @@ -3045,6 +3134,9 @@ LRESULT WINAPI DefFrameProcW(HWND,HWND,UINT,WPARAM,LPARAM); #define DefHookProc(c,p,lp,h) CallNextHookEx((HHOOK)*h,c,p,lp) LRESULT WINAPI DefMDIChildProcA(HWND,UINT,WPARAM,LPARAM); LRESULT WINAPI DefMDIChildProcW(HWND,UINT,WPARAM,LPARAM); +#if (_WIN32_WINNT >= 0x0501) +LRESULT WINAPI DefRawInputProc(PRAWINPUT*,INT,UINT); +#endif LRESULT WINAPI DefWindowProcA(HWND,UINT,WPARAM,LPARAM); LRESULT WINAPI DefWindowProcW(HWND,UINT,WPARAM,LPARAM); BOOL WINAPI DeleteMenu(HMENU,UINT,UINT); @@ -3221,6 +3313,13 @@ HWND WINAPI GetParent(HWND); int WINAPI GetPriorityClipboardFormat(UINT*,int); HANDLE WINAPI GetPropA(HWND,LPCSTR); HANDLE WINAPI GetPropW(HWND,LPCWSTR); +#if (_WIN32_WINNT >= 0x0501) +UINT WINAPI GetRawInputBuffer(PRAWINPUT,PUINT,UINT); +UINT WINAPI GetRawInputData(HRAWINPUT,UINT,LPVOID,PUINT,UINT); +UINT WINAPI GetRawInputDeviceInfo(HANDLE,UINT,LPVOID,PUINT); +UINT WINAPI GetRawInputDeviceList(PRAWINPUTDEVICELIST,PUINT,UINT); +UINT WINAPI GetRegisteredRawInputDevices(PRAWINPUTDEVICE,PUINT,UINT); +#endif DWORD WINAPI GetQueueStatus(UINT); BOOL WINAPI GetScrollInfo(HWND,int,LPSCROLLINFO); int WINAPI GetScrollPos(HWND,int); @@ -3318,10 +3417,10 @@ BOOL WINAPI IsDialogMessageW(HWND,LPMSG); UINT WINAPI IsDlgButtonChecked(HWND,int); #if(_WIN32_WINNT >= 0x0501) BOOL WINAPI IsGUIThread(BOOL); -#endif /* (_WIN32_WINNT >= 0x0501) */ +#endif #if(_WIN32_WINNT >= 0x0500) BOOL WINAPI IsHungAppWindow(HWND); -#endif /* (_WIN32_WINNT >= 0x0500) */ +#endif BOOL WINAPI IsIconic(HWND); BOOL WINAPI IsMenu(HMENU); BOOL WINAPI IsRectEmpty(LPCRECT); @@ -3426,6 +3525,9 @@ HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE,LPVOID,DWORD); HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD); #endif BOOL WINAPI RegisterHotKey(HWND,int,UINT,UINT); +#if (_WIN32_WINNT >= 0x0501) +BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT); +#endif UINT WINAPI RegisterWindowMessageA(LPCSTR); UINT WINAPI RegisterWindowMessageW(LPCWSTR); BOOL WINAPI ReleaseCapture(void); @@ -3442,7 +3544,7 @@ LONG WINAPI SendDlgItemMessageA(HWND,int,UINT,WPARAM,LPARAM); LONG WINAPI SendDlgItemMessageW(HWND,int,UINT,WPARAM,LPARAM); #if (_WIN32_WINNT >= 0x0403) UINT WINAPI SendInput(UINT,LPINPUT,int); -#endif /* (_WIN32_WINNT >= 0x0403) */ +#endif LRESULT WINAPI SendMessageA(HWND,UINT,WPARAM,LPARAM); BOOL WINAPI SendMessageCallbackA(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); BOOL WINAPI SendMessageCallbackW(HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD); diff --git a/winsup/w32api/lib/user32.def b/winsup/w32api/lib/user32.def index 916ba5645..2fde4bdfd 100644 --- a/winsup/w32api/lib/user32.def +++ b/winsup/w32api/lib/user32.def @@ -132,6 +132,7 @@ DefFrameProcA@20 DefFrameProcW@20 DefMDIChildProcA@16 DefMDIChildProcW@16 +DefRawInputProc@12 DefWindowProcA@16 DefWindowProcW@16 DeferWindowPos@32 @@ -216,10 +217,10 @@ FlashWindow@8 FlashWindowEx@4 FrameRect@12 FreeDDElParam@8 +GetActiveWindow@0 GetAltTabInfo@20 GetAltTabInfoA@20 GetAltTabInfoW@20 -GetActiveWindow@0 GetAncestor@8 GetAsyncKeyState@4 GetCapture@0 @@ -308,6 +309,11 @@ GetProcessDefaultLayout@4 GetProcessWindowStation@0 GetPropA@8 GetPropW@8 +GetRawInputBuffer@12 +GetRawInputData@20 +GetRawInputDeviceInfo@16 +GetRawInputDeviceList@12 +GetRegisteredRawInputDevices@12 GetQueueStatus@4 GetScrollBarInfo@12 GetScrollInfo@12 @@ -473,6 +479,7 @@ RegisterClipboardFormatW@4 RegisterDeviceNotificationA@12 RegisterDeviceNotificationW@12 RegisterHotKey@16 +RegisterRawInputDevices@12 RegisterWindowMessageA@4 RegisterWindowMessageW@4 ReleaseCapture@0