Short answer
You can try a Cedrus response pad. They are reasonably priced and my personal experiences with these boxes are good.
Background
Response latency (RT) measurements using standard USB input devices like a mouse or keyboard are possible, but USB devices limit accuracy. For example, the standard polling latency of any USB device is 8 msec. On top of that, the keys on a standard USB keyboard are serially polled, introducing additional latencies of up to 20 msec (Li et al., 2010). If you are measuring standard reaction times in the order of 150 - 200 ms, such a hardware delay may well be too much.
Response pads dedicated for RT measurements have internal hardware that take into account any such latencies and determine RTs typically with accuracies in the submillisecond range.
I have used the Cedrus RB-530 response box, which is one of the simpler models in the response box series the Cedrus Company offers. Admittedly, although I have used the Cedrus to register RTs, I have never actually analyzed these results in detail. However, as far as I can see, the RTs obtained made sense and the device seems reliable.
The good thing is that the Cedrus RB-530 response box is supported by a set of functions in the the Psychophysics Toolbox (PTB-3). The PTB documentation, as well as the PTB discussion forum (e.g., this thread) thrust forward by Mario Kleiner contain a wealth of tips, tricks and pitfalls in RT measurements. The PTB-3 Matlab extensions are specifically designed to cope with the hopelessly senseless and sluggish Windows-way of internal-process timing. Linux is by far the best OS for well-controlled timing operations, and also Mac outruns Windows substantially.
Note, however, that not all the reviews on the Cedrus RB-530 are unequivocally positive.
Reference
- Li et al., Behav Res Methods (2010); 42(1): 212-25