Roll isn't in there because I wasn't sure what effect it'll play on calculations involving the player viewpoint. It's probably negligible but I simply moved on to other things.
I'll probably get back to TrackIR sometime to implement the full 6DOF. And replace Z-translation with FOV.
Don't do that. Or implement the z-axis zoom as follows:
-|_____________|____|____|+
translation only | FOV only
|
translation+FOV
This is (pretty much) how it's implemented in the 6DOF add-on for IL-2 Sturmovik, and it works reasonably well, although players can select to disable the z-axis zoom and isntead use manual FOV controls, which I much prefer to do.
The reason for this is that translating the movement of your head into movement of the viewpoint in the game is intuitive enough. But when forward-backward movement starts to affect field of view, it's only really intuitive when you are looking straight ahead. That's why I prefer to keep my head tracking as head tracking, and control the field of view manually.
If you do implement FOV as part of z-axis movement, it needs to (IMHO) be player-controllable to select the mode. Either by releasing two versions, or including an in-game option to set the mode.
As far as I'm concerned, getting roll to work would be a priority for the TrackIR implementation, and getting FOV adjustment working independent of TrackIR, because quite simply field of view adjustability needs to be available for everyone, not just TrackIR/FreeTrack users. If then you want to include FOV functionality in Track IR implementation, that'd be the bells and whistles part.