From ReactOS Wiki
Revision as of 05:32, 3 April 2012 by BrentNewland (talk | contribs) (Changelog)
Jump to: navigation, search

i8042prt.sys is a driver for the ps/2 ports commonly found on pc's.

The ps/2 ports are controlled by a chip that was made by Intel, the Intel 8042. It is some kind of a bus, that uses one port to talk to the controller and another one to talk to the devices. The devices have separate interrupts so they can notify the system when they have something to say. When that interrupt is received though, communication happens through the same port for both devices.

This means that there has to be a driver that coordinates access to these devices, or there will be problems when for example you move your mouse while you press a key that turns on one of the keyboard leds.

The Windows i8042prt driver is pretty much documented on MSDN. Most of the documented stuff should work in the ReactOS driver too, so hopefully third-party drivers, like for touchpads and other weird mice, can be made to work.

Progress report

  • The drivers work on QEMU, VMware and on my own real hardware.
  • The drivers work during the installation
  • The debug hooks work
  • Communication with the win32k subsystem is now like it is on windows
  • Some testing has been done and newly exposed problems have been fixed.
  • The driver has been committed and the problems people have been experiencing have been fixed.
  • I'm currently working on adding PNP support. This should simplify the mouse and keyboard class drivers a bit and make it easier to allow multiple keyboards and mice to be used.




  • i8042prt driver by [tinus]


  • i8042prt "increase the number of passes to detect the mouse and keyboard - fixes mouse detection under VMware if the VM does not have ownership of the mouse. Thanks to GreatLord and Royce"
  • Prevent i8042prt to search for a keyboard/mouse more than once. (Hervé Poussineau)


  • Ignore incorrect responses to ACK and just retry sending data until either ACK is read, or max number of iterations is reached. This fixes the keyboard/mouse detection problems when running ReactOS inside VMWare (Aleksey Bragin)