Out of curiosity I was trying to figure out what format mouse data comes into a linux system as. I found from a little reading that the data comes in on the character device /dev/input/mice. Examining this device with xxd (a command line hex dump program) I can see the patterns for X and Y movement and the 3 button clicks in a string of three bytes. I was under the impression, from research around the good old internet, that there was supposed to be a 4th byte used to represent data about the 4th and 5th buttons (aka scroll wheel). Moving the wheel causes more 3 byte sets to come out of /dev/input/mice, but causes no change in the bytes themselves. A regular pattern of '0800 00' is observed as I move the wheel back and forth. Judging from the fact that I can actually use the wheel in my system, I assume the data must be going somewhere. Is it parsed into a separate device, am I trying to get at the data in the wrong way, or is my system just broken somehow? Any insight would be greatly appreciated.