ReactOS 0.4.16-dev-297-gc569aee
mouse32.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: subsystems/mvdm/ntvdm/dos/mouse32.h
5 * PURPOSE: VDM 32-bit compatible PS/2 MOUSE.COM driver
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 */
8
9#ifndef _MOUSE32_H_
10#define _MOUSE32_H_
11
12/* DEFINES ********************************************************************/
13
14//
15// We are ReactOS PS/2 Mouse Driver Version 6.26, compatible MS-MOUSE 6.26
16//
17#define MOUSE_VERSION MAKEWORD(0x26, 0x06)
18
19#define DOS_MOUSE_INTERRUPT 0x33
20#define MOUSE_IRQ_INT 0x74
21#define MOUSE_MAX_HORIZ 640
22#define MOUSE_MAX_VERT 200
23
24enum
25{
30};
31
32typedef struct _MOUSE_USER_HANDLER
33{
34 /*
35 * CallMask format: see table: http://www.ctyme.com/intr/rb-5968.htm#Table3171
36 * Alternatively, see table: http://www.ctyme.com/intr/rb-5981.htm#Table3174
37 */
39 ULONG Callback; // Far pointer to the callback
41
42typedef struct _MOUSE_DRIVER_STATE
43{
55
56 /*
57 * User Subroutine Handlers called on mouse events
58 */
59 MOUSE_USER_HANDLER Handler0; // Handler compatible MS MOUSE v1.0+
60 MOUSE_USER_HANDLER Handlers[3]; // Handlers compatible MS MOUSE v6.0+
61
62 struct
63 {
67
68 struct
69 {
71 WORD ScreenMask[16];
72 WORD CursorMask[16];
74
77
78/* FUNCTIONS ******************************************************************/
79
82
83#endif /* _MOUSE32_H_ */
unsigned char BOOLEAN
unsigned short WORD
Definition: ntddk_ex.h:93
@ MOUSE_BUTTON_LEFT
Definition: mouse32.h:26
@ MOUSE_BUTTON_RIGHT
Definition: mouse32.h:27
@ MOUSE_BUTTON_MIDDLE
Definition: mouse32.h:28
@ NUM_MOUSE_BUTTONS
Definition: mouse32.h:29
struct _MOUSE_DRIVER_STATE MOUSE_DRIVER_STATE
BOOLEAN DosMouseInitialize(VOID)
Definition: mouse32.c:1260
struct _MOUSE_DRIVER_STATE * PMOUSE_DRIVER_STATE
struct _MOUSE_USER_HANDLER * PMOUSE_USER_HANDLER
VOID DosMouseCleanup(VOID)
Definition: mouse32.c:1296
struct _MOUSE_USER_HANDLER MOUSE_USER_HANDLER
short SHORT
Definition: pedump.c:59
unsigned short USHORT
Definition: pedump.c:61
Definition: bl.h:1338
MOUSE_USER_HANDLER Handlers[3]
Definition: mouse32.h:60
COORD LastRelease[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:51
MOUSE_USER_HANDLER Handler0
Definition: mouse32.h:59
WORD PressCount[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:48
COORD LastPress[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:49
BYTE GraphicsData[256]
Definition: mouse32.h:75
struct _MOUSE_DRIVER_STATE::@5062 TextCursor
WORD ReleaseCount[NUM_MOUSE_BUTTONS]
Definition: mouse32.h:50
struct _MOUSE_DRIVER_STATE::@5063 GraphicsCursor
uint32_t ULONG
Definition: typedefs.h:59
unsigned char BYTE
Definition: xxhash.c:193