VOrb Input Tweaking


Sometimes applications need to have their inputs "tweaked." This is particularly true for applications that use "delta" inputs -- the sensitivity adjustment is crucial.

Axes input data from the controller can be tweaked by:

function,
sensitivity, and
dead spot step removal.

The tweaking dialog is:

There are six key aspects of this dialog.

Axes

The check boxes in the "Axes" area control which axes are currently being tweaked.

When a new axis is selected, the graph, kind, function, and sensitivity items are updated to correspond to the values for the selected axis.

If multiple axes are selected (via shift click), the graph, kind, function, and sensitivity items reflect the most recently selected axis.

If the function, sensitivity, or step removal items are modified when multiple axes are selected, the corresponding attribute for every selected axis is modified. The attributes associated with items that weren't changed, will not be modified.

Graph

The graph to the left shows the tweaking function on the most recently selected axis. The position of the cross hair represents the displacement of the axis on the controller (horizontal position) and the tweaked result (vertical position).

Kind

The kind or type of the application input that the selected axis is currently being mapped to. Kind is controlled by the rectangular popups in the main VOrb configuration dialog. Values for kind include:

dlta Delta: requires sensitivity adjustment. Most similar to mouse or trackpad.
move Movement: few application should use this type.
axis Axis: possibly the ideal input type as no sensitivity adjustment from VOrb is required.
dpad Directional Pad: similar to console game controllers.
butn Button: maps axis movement to boolean inputs.

Function

The mapping function applied to the selected axis. Presently, there are 7 possibilities:

Graph

Loose Mathematical Description

Remarks

positive cubic
positive square Useful for near linear control except for very fine control around the center. This function also has implicit dead spot step removal.
positive half More precise control but doesn't reach maximum axis values.
linear Default function. Typically the most intuitive.
negative double Quicker response but doesn't use full range of axis motion.
negative square
negative cubic

Sensitivity

For button or directional pad input kinds, controls how far the axis must be moved before the button or direction is issued.

For delta input kinds, controls how sensitive of a response the axis has.

Ignored for other input kinds.

Dead spot step removal

The SpaceOrb has a dead spot programmed into it. This frabricated dead spot prevents drift and means the controller will not generate any movement data for displacements very near the device center.

This means you will have to move a single axes a significant portion before any movement is detected. And, when it is finally detected, the axis value will jump to its new displacement. The "dead spot step removal" removes this jump by modifying the tweak functions. Two modified function examples are:

An unfortunate side affect of dead spot step removal is the creation of a hysteresis affect in the control.

Another trait of the SpaceOrb is that if a different axis has passed the dead spot, even minute displacements in other axes will be detected. This means if you're using an application where you normally have one of the axis significantly displaced (ie. you're always running by pressing forward on the controller), you might as well leave dead spot step removal off.


Back to the VOrb Read Me index...