none
Kinect HID or TrackD integration RRS feed

  • Question

  • I want to integrate a Kinect with TrackD. Has anyone written a TrackD driver for a Kinect device? Alternatively, if I could figure out how to get the kinect to present as a regular HID, I think TrackD can access it through DirectX. I've no idea how to do that. Can anyone suggest an approach and recommend resources/example to get me going? Thanks. Mike
    Tuesday, December 6, 2011 3:39 PM

All replies

  • Try asking the wdk forum guys about making a non-hid device appear as a hid device (for instance,ps2 appear as hid device even though not usb) but usb kinect should appear as a hid device since its usb . USB generic device like a mouse uses hid a lot but try asking.

    Also, look up the specifications for usb at usb.org. It will give you the codes you need to help with your project and sometimes the wdk guys might give you specific links on their website.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

    • Edited by The Thinker Wednesday, December 7, 2011 1:43 PM
    Tuesday, December 6, 2011 8:02 PM
  • Thanks.  I might be using the wrong terminology. 

    TrackD can integrate things like gamepads and joysticks through DirectX, but I don't really know how it works.  If the Kinect could present as a similar device, I can set it up without any extra effort.  I'm not sure if TrackD will detect it as is.

     

    MIke

     

    Friday, December 9, 2011 12:06 PM
  • DSF(device simulation framework) is what i use to emulate device input for my mouse. Its the easiest way in code to do it. But my sample at codeplex is for a mouse and you would have to get help from wdk guys with the report descriptors  or ask here for them for the kinect if they allow that(format of input report like formatting a word document or packet thats being sent over the network). 

    Also, can you list a link to TrackD so i can understand where your going with it?


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda
    • Edited by The Thinker Friday, December 9, 2011 2:36 PM
    Friday, December 9, 2011 2:35 PM
  • Here's a link to Trackd.

    http://www.mechdyne.com/trackd.aspx

     

    Basically, TrackD acts as an intermediary between a variety of input devices (especially 6 DOF tracking systems and controllers with joysticks and buttons) and software products interested in using that data.  TrackD reads data in using device specific drivers and publishes it in a common format.  If you code with the TrackD API, you can support a wide variety of devices without having to write device dependent code for each one. 

    A non-commercial analog would be VRPN.

    I know that TrackD has a DirectX interface that allows it to get things like button and joystick states.  I've no idea how DirectX interfaces with the actual devices. 

    I have software that uses TrackD to get 6 DOF data from other motion capture tracking system.  I'd like to use the Kinect as an alternative.  I can write a driver for TrackD that interfaces with the Kinect, but I thought I'd see if anyone had done that already.

     

    Mike

     

    Friday, December 9, 2011 8:00 PM
  • Now i know trackD is for virtual reality but you should look into creating your own device drivers for a certain amount of hardware to be certain that kinect works. I have never used that so i cant help you with api code for trackD because i dont know your code and have not used that api before.

    But i can help you probably put device drivers for each device in a installer with your program. Also, Inno setup (excuse if i spelled it wrong) has a script you have to write for it but its easy to understand after you first look up items in the help file for doing such a task unless you have something better for installs like install shield or some other program.

    The other thing is kinect api can be combined with the api for another virtual reality device allowing commincation to both for easy transition.

     


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda
    Saturday, December 10, 2011 2:48 PM