13 #define HW_EQUIP_PS2 4
14 #define MOUSE_PKT_BYTES 3
15 #define MOUSE_RESOLUTION 3
17 typedef enum {NothingPress = 8, LeftPress = 9, RightPress = 10} MouseStatus;
36 asm(
"mov ax, [ebp+10]\n"
38 "mov cx, [ebp+14]":
"=a"(dy),
"=b"(dx),
"=c"(mouse.status));
51 asm(
"int 0x15\n"::
"a"(0xc200),
"b"(0));
57 "popw es"::
"a"(0xc207),
"b"(0x0000));
72 asm(
"int 0x15\n"::
"a"(0xc200),
"b"(0x100));
81 short installedDevices;
82 asm(
"int 0x11":
"=a"(installedDevices));
83 if((installedDevices & HW_EQUIP_PS2) == 0)
90 :
"=a"(installedDevices):
"a"(0xc205),
"b"(MOUSE_PKT_BYTES<<8));
91 if(installedDevices < 0)
98 :
"=a"(installedDevices):
"a"(0xc203),
"b"(MOUSE_RESOLUTION<<8));
99 if(installedDevices < 0)
int mouseInitialize()
Initialize mouse, by default mouse in enabled.
void mouseDisable()
Disable mouse.
void mouseHandler()
Handler for mouse device.
void mouseEnable()
Enable mouse.
Mouse values, changed by handler when mouse is enabled.
useful macros, definitions, enums etc.