Changing Prefs has no (almost) effect

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

Moderator: Moderators

Post Reply
hjbflyer
Posts: 9
Joined: Tue Feb 28, 2017 9:47 am

Changing Prefs has no (almost) effect

Post by hjbflyer »

I am using the call ConnexionGetCurrentDevicePrefs as you do in your sample code. I can read all values from the structure.

Code: Select all

ConnexionDevicePrefs [type=19792, version=28721, deviceID=32767, reserved1=0, appSignature=1212826161, reserved2=0, appName=java, mainSpeed=100, zoomOnY=0, dominant=0, reserved3=0, mapV=[0, 1, 2, 3, 4, 5], mapH=[0, 1, 2, 3, 4, 5], enabled=[1, 1, 1, 1, 1, 1], reversed=[100, 100, 100, 100, 100, 100], speed=[100, 100, 100, 100, 100, 100], sensitivity=[100, 100, 100, 100, 100, 100], scale=[10000, 10000, 10000, 10000, 10000, 10000], gamma=1700, intersect=0]
Next I use the preference page to make changes to my settings. (refer to attached picture). Changing the overall speed will not change any value from the prefs. The only value which can be changed is dominant,

Code: Select all

ConnexionDevicePrefs [type=19792, version=28721, deviceID=32767, reserved1=0, appSignature=1212826161, reserved2=0, appName=java, mainSpeed=100, zoomOnY=0, dominant=1, reserved3=0, mapV=[0, 1, 2, 3, 4, 5], mapH=[0, 1, 2, 3, 4, 5], enabled=[1, 1, 1, 1, 1, 1], reversed=[100, 100, 100, 100, 100, 100], speed=[100, 100, 100, 100, 100, 100], sensitivity=[100, 100, 100, 100, 100, 100], scale=[10000, 10000, 10000, 10000, 10000, 10000], gamma=1700, intersect=0]
The second print out is, after setting the overall speed to the right most position and dominant to checked.

I am wrong in thinking that the settings could be used for calibrating the sensitivty of the device?
Attachments
Bildschirmfoto 2017-03-21 um 15.23.20.png
Bildschirmfoto 2017-03-21 um 15.23.20.png (68.49 KiB) Viewed 49885 times
crobl
Moderator
Moderator
Posts: 138
Joined: Mon Feb 26, 2007 8:34 am
Location: Freiham, Germany

Re: Changing Prefs has no (almost) effect

Post by crobl »

Hello hjbflyer,

if by "calibrating the sensitivty of the device" you want to generate a custom speed or kind of "equalise" the speed to a certain level within your application (or as your attachment suggests: for all Java applications), the answer unfortunately is: Yes, you're wrong. :wink:

The speed should ideally not be touched from within the application and only be changed within the driver's prefPane using the configuration for the/a application.
When developing your application use the default speed setting in the driver and process the axis values in a way that your application controls and feels right (and keep this scaling you probably applied constant). This way the user has a good experience by default and the most control over the device sensitivity via the speed slider(s) in the driver's UI.

In the end this will save you time and headaches if for example we (for whatever reason) may decide to change/adjust the sensitivity for all devices or a (theoretical) ultra high/low sensitive device should be connected. The driver & application configuration(s) will basically handle these adjustments for you.

Regards,

Christian
hjbflyer
Posts: 9
Joined: Tue Feb 28, 2017 9:47 am

Re: Changing Prefs has no (almost) effect

Post by hjbflyer »

Hello Christian,
thank you for the answer.

I am a little bit confused. I do not want to change the Preferences from within the application, but I thought, that if there is a call, which returns the preferences,
this is formation could be useful. But what I found was, the structure always delivers the same values. If this is true, than there is no need for this call.
All values could be defined as constant values. I though a user could change the speed ... It is OK if it is for the driver only.

The settings should not be done for all "Java" applications, but if I run small test programs they do have a starter. (so no "xxx.app") They are just started by
java ....

Regards,
hjbflyer
Post Reply