No, the cones of our eyes do not only detect the primary colours. They can detect a range of colours with different sensitivity.
S cones (or blue cones) are most sensitive to violet light, with wavelengths around 420nm.
M cones (or green cones) are most sensitive to green light, with wavelengths around 534nm.
L cones (or red cones) are most sensitive to yellowish-green light, with wavelengths around 564nm.
When a light enters a certain spot of the retina, the three types of cones will response differently according to colour (and the strength) of the light and send three signals to the brain. The brain will analyse the signals and the color of the light is perceived.
I answered similar question some time ago (in Chinese). For more details, please refer to it:
http://hk.knowledge.yahoo.com/question/?qid=7007042304552