diff --git a/reactos/bootdata/hiveinst.inf b/reactos/bootdata/hiveinst.inf index 888b3c8c74a..ab8226e0b16 100644 --- a/reactos/bootdata/hiveinst.inf +++ b/reactos/bootdata/hiveinst.inf @@ -24,7 +24,8 @@ HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Start",0x00010001,0x00000001 ; ; PS/2 mouse port driver -HKLM,"SYSTEM\CurrentControlSet\Services\Psaux","Start",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\i8042Prt","Start",0x00010001,0x00000001 + ; Serial mouse driver ;HKLM,"SYSTEM\CurrentControlSet\Services\Sermouse","Start",0x00010001,0x00000001 diff --git a/reactos/bootdata/hivesys.inf b/reactos/bootdata/hivesys.inf index 087c99f112e..012ce92cbce 100644 --- a/reactos/bootdata/hivesys.inf +++ b/reactos/bootdata/hivesys.inf @@ -583,6 +583,7 @@ HKLM,"SYSTEM\CurrentControlSet\Services\i8042Prt","Type",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Services\i8042Prt\Parameters","SampleRate",0x00010001,0x00000060 HKLM,"SYSTEM\CurrentControlSet\Services\i8042Prt\Parameters","BreakOnSysRq",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\i8042Prt\Parameters","MouseResolution",0x00010001,0x00000003 ; Keyboard class driver HKLM,"SYSTEM\CurrentControlSet\Services\kbdclass","ErrorControl",0x00010001,0x00000000 diff --git a/reactos/drivers/input/i8042prt/i8042prt.h b/reactos/drivers/input/i8042prt/i8042prt.h index 6d155e200e9..85bb5497da7 100644 --- a/reactos/drivers/input/i8042prt/i8042prt.h +++ b/reactos/drivers/input/i8042prt/i8042prt.h @@ -87,7 +87,7 @@ typedef struct _I8042_SETTINGS DWORD OverrideKeyboardSubtype; DWORD MouseResendStallTime; DWORD MouseSynchIn100ns; - DWORD MouseResolution; + DWORD MouseResolution; /* done */ DWORD NumberOfButtons; DWORD EnableWheelDetection; } I8042_SETTINGS, *PI8042_SETTINGS; diff --git a/reactos/drivers/input/i8042prt/mouse.c b/reactos/drivers/input/i8042prt/mouse.c index b044b0fc89a..ec7239fbebd 100644 --- a/reactos/drivers/input/i8042prt/mouse.c +++ b/reactos/drivers/input/i8042prt/mouse.c @@ -299,7 +299,9 @@ BOOLEAN STDCALL I8042MouseResetIsr(PDEVICE_EXTENSION DevExt, DevExt->MouseResetState = ExpectingFinalResolutionACK; return TRUE; case ExpectingFinalResolutionACK: - I8042IsrWritePortMouse(DevExt, 0x03); + I8042IsrWritePortMouse(DevExt, + DevExt->Settings.MouseResolution & 0xff); + DPRINT1("%x\n", DevExt->Settings.MouseResolution); DevExt->MouseResetState = ExpectingFinalResolutionValueACK; return TRUE; case ExpectingFinalResolutionValueACK: