3DConnexionClient framework or HID interface?

Post questions, comments and feedback to our 3Dconnexion Mac Development Team.

Moderator: Moderators

Post Reply
till213
Posts: 10
Joined: Mon Aug 23, 2010 2:54 am

3DConnexionClient framework or HID interface?

Post by till213 » Mon Aug 23, 2010 6:04 am

Hello,

a second quick question just popped up: what is the preferred API to interface on a Mac?

- The "Apple HID API"

http://developer.apple.com/mac/library/ ... intro.html

(I have no experience with that yet whatsoever)

- Or the 3DConnexionClient framework (as shipped with the 3DxMacWare 1.6.1)?

(Seems simple to use, probably supports more "specific features" of the devices?)


The reason I ask is that on Windows:

"A number of application programming interfaces are available to interface to HID devices on windows machines, for example Raw Input, DirectInput from Microsoft as well as a number of proprietary software development kits supplied by 3Dconnexion. 3Dconnexion recommends that developers implement all new 3D mouse integration using the Raw Input API." [Programming for the 3D Mouse.pdf, Chapter 9. Windows Programming API]


So what is the (current) recommendation for Mac? :)

till213
Posts: 10
Joined: Mon Aug 23, 2010 2:54 am

Post by till213 » Thu Aug 26, 2010 3:33 am

Browsing the forum a bit more I found a similar discussion here:

viewtopic.php?t=3651

On Windows the same question came up: Raw Input (aka "WM_INPUT") method vs proprietary 3Dconnection SDK.

Even though the Raw Input method (using the MS APIs) does not respect the settings done in the 3DConnexion driver settings the recommendation still seems to be to use it, since it allows for the user simply connecting the device without installing any proprietary driver (and that seems to be the goal of 3Dconnexion, to make the driver redundant - which is good IMHO).


So for me the same question stilll holds on Mac: what is the current recommendation by 3DConnexion? Is the 3DConnectionClient framework likely to get "deprecated" soon (within a year) as well, just like on Windows, and one should use the "HID Manager" (native Mac API) instead from now on?

If so, it would be nice to have some example apps soon in the Mac SDK [1] as well, using the "HID Manager" (very simple ones that just read the axis/button values and print them out in some text fields).


In fact, it would be very helpful to have one single and simple application on Windows, Mac and Linux which would simply read and print out the received values, implemented with the current recommendet APIs. And without actually rotating 3D objects, which just complicates the code, but does not really help in understanding how to use the underlying APIs best.

Also showing different methods like polling and event queues would be helpful :)




[1] HID Manager: http://developer.apple.com/mac/library/ ... 3-CJAHEAFF

till213
Posts: 10
Joined: Mon Aug 23, 2010 2:54 am

Post by till213 » Thu Aug 26, 2010 5:21 am

I have found a nice summary about all the different APIs out there (Windows, Linux, Mac) and their dis-/advantages:

http://at.or.at/hans/research/nime/hid/apis.html

Post Reply