Hey, just saw this forum post on my radar, I am one of the OpenHMD developers.
Don't know if you are still working on this, but I could give you some insights.
OpenHMD has drivers which decipher the usb packets from the devices and turn them into usable data.
We construct GL Matrices (Projection and Modelview) and provide quaternion data among others.
openhmd.net/doxygen/0.1.0/openhmd_8h.html has most of the calls and information about what you can get from the devices.
More will be added in the future.
You set information FROM the device TO your application, there is no communication back to the device currently.
Since we do not handle things like 'direct mode' yet, you just have to open the render window on the HMD or drag it manually.
If you have any additional questions feel free to respond, join our irc (freenode #openhmd) or hang on our subreddit! /r/openhmd.