Declare another bunch of raw input structures and constants (try2)

Kovács András andras at csevego.net
Fri Mar 30 00:39:33 CDT 2007


Declare another bunch of raw input structures and constants

Applies to current git.

-- 
----------------------------
Kovács András (andras)
NetClub Vezető Rendszergazda
Lamarr
csevego.net
andras at csevego.net
----------------------------
-------------- next part --------------
From 1fb589dcfbb37e2c2c067cc42e871b522739a354 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Andr=C3=A1s_Kov=C3=A1cs?= <andras at debian.sth.sze.hu>
Date: Fri, 30 Mar 2007 07:35:24 +0200
Subject: [PATCH] Declare another bunch of raw input structures and constants

---
 include/winuser.h |   94 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 93 insertions(+), 1 deletions(-)

diff --git a/include/winuser.h b/include/winuser.h
index e5de917..ad145c0 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -432,6 +432,8 @@ typedef struct tagHARDWAREINPUT
 #define INPUT_KEYBOARD  1
 #define INPUT_HARDWARE  2
 
+typedef HANDLE HRAWINPUT;
+
 typedef struct tagINPUT
 {
     DWORD type;
@@ -443,7 +445,6 @@ typedef struct tagINPUT
     } DUMMYUNIONNAME;
 } INPUT, *PINPUT, *LPINPUT;
 
-
 typedef struct tagRAWINPUTDEVICE {
     USHORT usUsagePage;
     USHORT usUsage;
@@ -485,6 +486,97 @@ typedef struct tagRID_DEVICE_INFO {
     } DUMMYUNIONNAME;
 } RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
 
+typedef struct tagRAWKEYBOARD {
+    USHORT MakeCode;
+    USHORT Flags;
+    USHORT Reserved;
+    USHORT VKey;
+    UINT Message;
+    ULONG ExtraInformation;
+} RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;
+
+typedef struct tagRAWMOUSE {
+    USHORT    usFlags;
+    union {
+        ULONG    ulButtons;
+        struct {
+            USHORT usButtonFlags;
+            USHORT usButtonData;
+        } DUMMYSTRUCTNAME;
+    } DUMMYUNIONNAME;
+    ULONG ulRawButtons;
+    LONG  lLastX;
+    LONG  lLastY;
+    ULONG ulExtraInformation;
+} RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;
+
+typedef struct tagRAWHID {
+    DWORD dwSizeHid;
+    DWORD dwCount;
+    BYTE bRawData;
+} RAWHID, **LPRAWHID;
+
+typedef struct tagRAWINPUTHEADER {
+    DWORD dwType;
+    DWORD dwSize;
+    HANDLE hDevice;
+    WPARAM wParam;
+} RAWINPUTHEADER, *PRAWINPUTHEADER;
+
+typedef struct tagRAWINPUT { 
+    RAWINPUTHEADER    header; 
+        union {
+            RAWMOUSE    mouse; 
+            RAWKEYBOARD keyboard; 
+            RAWHID      hid; 
+        } data;
+} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
+
+typedef struct tagRAWINPUTDEVICELIST {
+    HANDLE hDevice;
+    DWORD dwType;
+} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
+
+#define RIM_INPUT                       0
+#define RIM_INPUTSINK                   1
+
+#define RIM_TYPEMOUSE                   0
+#define RIM_TYPEKEYBOARD                1
+#define RIM_TYPEHID                     2
+
+#define RID_INPUT                       0x10000003
+#define RID_HEADER                      0x10000005
+
+#define MOUSE_MOVE_RELATIVE             0
+#define MOUSE_MOVE_ABSOLUTE             1
+#define MOUSE_VIRTUAL_DESKTOP           2
+#define MOUSE_ATTRIBUTES_CHANGED        4
+
+#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_WHEEL                  0x0400
+#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 KEYBOARD_OVERRUN_MAKE_CODE      0xff
+#define RI_KEY_MAKE                     0
+#define RI_KEY_BREAK                    1
+#define RI_KEY_E0                       2
+#define RI_KEY_E1                       4
+#define RI_KEY_TERMSRV_SET_LED          8
+#define RI_KEY_TERMSRV_SHADOW           0x10
 
 typedef struct tagGUITHREADINFO
 {
-- 
1.4.4.4



More information about the wine-patches mailing list