Any-Control Enumeration

The following constants are used in the dwSemantic member of the DIACTION structure to map an action to any matching control on the device.

Syntax

typedef enum Any_Control
{
    DIAXIS_ANY_1,
    DIAXIS_ANY_2,
    DIAXIS_ANY_3,
    DIAXIS_ANY_3,
    DIAXIS_ANY_A_1,
    DIAXIS_ANY_A_1,
    DIAXIS_ANY_B_1,
    DIAXIS_ANY_B_2,
    DIAXIS_ANY_C_1,
    DIAXIS_ANY_C_2,
    DIAXIS_ANY_R_1,
    DIAXIS_ANY_R_2,
    DIAXIS_ANY_S_1,
    DIAXIS_ANY_S_2,
    DIAXIS_ANY_U_1,
    DIAXIS_ANY_U_2,
    DIAXIS_ANY_V_1,
    DIAXIS_ANY_V_2,
    DIAXIS_ANY_X_1,
    DIAXIS_ANY_X_2,
    DIAXIS_ANY_Y_1,
    DIAXIS_ANY_Y_2,
    DIAXIS_ANY_Z_1,
    DIAXIS_ANY_Z_2,
    DIBUTTON_ANY,
    DIPOV_ANY_1,
    DIPOV_ANY_2,
    DIPOV_ANY_3,
    DIPOV_ANY_4
} Any-Control, *LPAny-Control;

Constants

  Constant Description
DIAXIS_ANY_1 Any axis
DIAXIS_ANY_2 Any axis
DIAXIS_ANY_3 Any axis
DIAXIS_ANY_3 Any axis
DIAXIS_ANY_A_1 Any accelerator
DIAXIS_ANY_A_1 Any accelerator
DIAXIS_ANY_B_1 Any brake
DIAXIS_ANY_B_2 Any brake
DIAXIS_ANY_C_1 Any clutch
DIAXIS_ANY_C_2 Any clutch
DIAXIS_ANY_R_1 Any r-axis
DIAXIS_ANY_R_2 Any r-axis
DIAXIS_ANY_S_1 Any s-axis
DIAXIS_ANY_S_2 Any s-axis
DIAXIS_ANY_U_1 Any u-axis
DIAXIS_ANY_U_2 Any u-axis
DIAXIS_ANY_V_1 Any v-axis
DIAXIS_ANY_V_2 Any v-axis
DIAXIS_ANY_X_1 Any x-axis
DIAXIS_ANY_X_2 Any x-axis
DIAXIS_ANY_Y_1 Any y-axis
DIAXIS_ANY_Y_2 Any y-axis
DIAXIS_ANY_Z_1 Any z-axis
DIAXIS_ANY_Z_2 Any z-axis
DIBUTTON_ANY Any button. This is a constant macro that takes a button number as its argument. For example, DIBUTTON_ANY(3).
DIPOV_ANY_1 Any point-of-view controller
DIPOV_ANY_2 Any point-of-view controller
DIPOV_ANY_3 Any point-of-view controller
DIPOV_ANY_4 Any point-of-view controller

Remarks

These constants can be used to map an application action to a virtual control that is not defined in a genre. Such actions are mapped after genre-specific actions. If the mapper has already mapped all matching controls to genre-specific actions, the any-control action is left unmapped.

Any-control actions are treated with equal priority. If a device has one x-axis and the action array specifies DIAXIS_ANY_1 and DIAXIS_ANY_X_1, the action mapped to the x-axis is the one that appears first in the action array.

DIBUTTON_ANY(x) can accept any value from 0 through 255. Do not use an index more than once. For instance, the following set of DIACTION structures would be invalid.

{eB_MUTE,    DIBUTTON_ANY(0), 0, "Toggle Sound",},
{eB_VOLUP,   DIBUTTON_ANY(0), 0, "Volume Up",   }, 
{eB_VOLDOWN, DIBUTTON_ANY(0), 0, "Volume Down", }, 

The correct method uses different indexes, as shown below.

{eB_MUTE,    DIBUTTON_ANY(0), 0, "Toggle Sound",}
{eB_VOLUP,   DIBUTTON_ANY(1), 0, "Volume Up",   } 
{eB_VOLDOWN, DIBUTTON_ANY(2), 0, "Volume Down", }