The X server controls both input (keyboard, mouse, etc) and output (display, monitor) devices.
Compatible hardware is a tough topic, since it is very much a moving target. We are forced here to avoid specifics, since this would surely change by the time you read this. And would be tediously lengthy anyway.
So let's settle for some generalities. Most PC type hardware is supported to one degree or another. Big help
Rule of thumb: if it is a device that uses a long-standing, commonplace protocol (e.g. PS/2), it should be well supported. Conversely, if it is something relatively new, with ground-breaking technology, the odds are not as good. This is just the nature of the beast with open source development versus manufacturers that cater more to the most popular platforms. Some manufacturers are more co-operative than others too.
Now, some general guidelines:
Monitors - This is easy. Linux does not really need to be compatible with the monitor per se. That is the job of the video card. Any monitor that your graphics card can drive should do fine. Including, flat panel monitors.
Video cards - This is much tougher. The X server is determined by the the chipset. Many, many are supported. But inevitably there are always some newer cards, or even revised cards, that are not. And some may have better support and better optimization than others. Advanced features such as multi-headed displays, 3D, TV out, DRI, etc., have some support as well, though this should be researched first, as the support may be limited. Supported cards are listed: http://xfree86.org/cardlist.html . Open source drivers are often developed incrementally. For instance, a particular card may work well for basic display purposes, but specialized features such as 3D may come much later in the development cycle. This is a quite different development model than with proprietary drivers from the manufacturer.
Keyboards – Any standard PC type keyboard should do fine, including PS/2, USB and many infra-red devices. Probably many “non-standard” ones too
Mice and other pointer devices – Most should be supported including PS/2, bus, serial, USB and many infra-red devices. Optical mice also. Unix has long preferred three button mice, though more buttons is supported as well. Many wheeled mice have X server support via the “IMPS/2” (IntelliMouse), or other specific protocols, though may require supplemental configuration for some individual applications.
Laptops have their own unique set of problems since the hardware tends to be very specialized, and often different from what is commonly found on desktop style systems. X is supported by many. Check for details at http://www.linux-laptop.net/.
You can check the “hardware compatibility list” at your distribution's web site too. This should give a very good idea of what should work with your release.
Newer versions of XFree86 obviously will have better hardware support. If you are using an older Linux version and don't have full hardware support, see about upgrading XFree86. Check first to see if your distribution has updates for your release.