Joysticks / Joypads / Game Controllers / Gamepads
Generic joysticks, joypads, game controllers and gamepads are supported by VrTwo as input devices or as additional input devices. These devices are typically characterized as having a USB interface, up to two XY motion sticks, a Z motion and up to 32 buttons. Since there are many different manufacturers and many different configurations the information shown here is only one example.
Most joysticks consist of one or more of the following components.
Joysticks and VrTwo
In VrTwo the input required is XYZ and a button press. Since typical joysticks offer two XY inputs the configuration of these devices allow the cross referencing of a joystick input axis to VrTwo axis. Joysticks for VrTwo are considered as an “add on” device and do not need to be turned on the in Vr Configuration program. If a joystick or joysticks are connected they will be recognized during the VrTwo startup. Joysticks may also be used in addition to other 3D input devices such as the Stealth mouse or Handwheels. The input motions from the joystick will override existing 3D input device motions when active but will not disable them.
Joysticks may be configured in VrOne or VrTwo from the Input -> Device Controls -> Joysticks pull-down menu or from the DevJoy key-in. Following are the dialog boxes that are available when configuring joysticks.
Joystick to edit
Up to two joysticks are supported by VrTwo. This field defines the joystick to configure when cross-referencing buttons, axis or setting scale factors.
Defines the time to wait between reads of the joystick in milliseconds. For reference, 1000 milliseconds is one second. The default value is 10.
Joystick 1 mode
Allows the enabling or disabling of joystick 1 input.
Joystick 2 mode
Allows the enabling or disabling of joystick 2 input.
Joysticks may have up to 32 buttons which may be cross-referenced to VrOne/VrTwo buttons or key-ins. VrOne key-ins may be placed on any key simply by typing the desired VrOne command or commands up to 64 characters. Multiple commands are separated by a comma. For example:
ZooA, SetLayMacro, RoadFuncKey
Could be entered which would perform a Zoom All then run the SetLayMacro macro then start the RoadFuncKey function key. Of course, SetLayMacro and RoadFuncKey are defined by the user.
Most joysticks have up to two XY axis inputs which are called “sticks” and up to two Z axis inputs. These joystick axes may be cross-referenced to the VrTwo XY or Z input axis.
Joystick Scale Factors
The six possible input axes from the joystick may be scaled as needed by the user. The default scale factor for each of these axes is 1.0.
Since there are many types of joysticks available it is possible to test a currently connected joystick to determine the location of the two sticks and the location of the buttons. When the test is started an information box will be displayed showing the following fields.
x1 y1 z1 x2 y2 z2 JoystickButton VrCommandString
x1, y1 XY coordinate from stick 1
z1 Z coordinate 1
x2, y2 XY coordinate from stick 2
z2 Z coordinate 2, if available
JoystickButton Raw joystick button (1-32)
VrCommandString Vr command string assignment for the current button press. The Vr Command Strings are defined in Button Cross-Reference.
When joystick testing is complete the Stop Joystick Test button may be pressed on the main menu.