Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

Controls

  • Last UpdatedOct 08, 2025
  • 4 minute read

Aside from Boolean actions, the Input module also maps controls intended to move (Axis0) or rotate (Axis1) in the 3D space, such as:

  • Keyboard keys

  • WASD

  • Oculus thumb sticks

  • Joystick analogic controllers

  • Mouse

  • Multi-touch gestures

All the data coming from different controllers is standardized and unified in the same output fields. This allows the modules connecting to the Input module to seamlessly use the data provided by the Input module itself, regardless of the deployment target.

Keyboard keys

The mapping of keyboard keys, or any non-analogic key (such as joystick Dpad or mouse buttons), to control the movement in the 3D space is done by defining the different Axis0 and Axis1 configurations. By defining a [pos] configuration, when the mapped keys are pressed, the value 1 will be written to the corresponding axis coordinate. Similarly, defining a [neg] configuration the value -1 will be written. In the following example, pressing:

  • D key, value 1 will be summed to Axis0.x

  • A key, value -1 will be summed to Axis0.x

  • E key, value 1 will be summed to Axis0.y

  • Q key, value -1 will be summed to Axis0.y

  • W key, value 1 will be summed to Axis0.z

  • S key, value -1 will be summed to Axis0.z

Code example

<Module name="input_module" moduleType="InputModule" version="1.0.0"

    "Axis0_posZ"="{dic1={key1=W}}"

    "Axis0_negZ"="{dic1={key1=S}}"

    "Axis0_posX"="{dic1={key1=D}}"

    "Axis0_negX"="{dic1={key1=A}}"

    "Axis0_posY"="{dic1={key1=E}}"

    "Axis0_negY"="{dic1={key1=Q}}"

    />

Oculus thumb sticks

The Oculus thumb stick values are always mapped on the fields output_Axis0 (left thumb stick) and output_Axis1 (right thumb stick). If the configuration field oculus_lcontroller_enabled and oculus_rcontroller_enabled are set to true, then:

  • Left controller thumb stick axes are mapped [X] > [X] and [Y] > [Z] to match keyboard WASD mapping.

  • Right controller thumb stick axes are mapped [X] > [X] and [Y] > [-Y] to match mouse mapping.

Joystick analogic sticks

The joystick analogic sticks values are always mapped on the fields output_Axis0 (left thumb stick) and output_Axis1 (right thumb stick). If the configuration field joystick_enabled is set to true, then:

  • Left analogic sticks axes are mapped [X] > [X] and [Y] > [Y].

  • Right analogic sticks axes are mapped [X] > [X] and [Y] > [Y].

Mouse

For mapping the MouseAxis and PinchAxis to control the movement in the 3D space, axis configurations can be defined once, as in the following example:

<Module name="input_module" moduleType="InputModule" version="1.0.0"

    "Axis0_posX"="{dic1={key1=PINCHPAN}} {dic2={key1=MMOUSE}} "

   

"Axis1_posX"="{dic1={key1=PINCHROTATE}}{dic2={key1=LMOUSE}} "

    />

If defined, the module automatically maps:

  • AxisMouse.x > Axis0.x and AxisMouse.y > Axis0

  • AxisPinch.z > Axis0.x; AxisPinch.w > Axis0.y

  • AxisMouse.x > Axis1.x and AxisMouse.y > Axis1.y

  • AxisPinch.x > Axis1.x.

Since more than one controller can write on the same fields, even concurrently, the following logic is applied: the analogic values coming from the Oculus thumb sticks, the joystick analogic sticks and the keyboard are individually summed on the proper axis components X,Y and Z of the relative output_axis output. Then the final value is capped between [-1, 1]. Finally, AxisMouse and AxisPinch are added.

Naming conventions for keys

Here is a list of all key naming conventions based on the device type.

Keyboard

Keys

Description

A > Z

Each keyboard character is mapped to its corresponding capital case character.

BACK

Backspace key

CAPITAL

Caps-Lock key

CONTROLKEY

Ctrl key

D0 > D9

Numeric keys (digital #)

DELETE

Delete key

DOWN

Down arrow

END

Endline key

ESCAPE

Esc key

F1 > F12

Function keys

HOME

Home key

LEFT

Left arrow

LWIN

Left Win key

MENU

Left Alt

OEMQUESTION

[?]

OEMPERIOD

[.]

OEMCOMMA

[,]

OEMMINUS

[-]

OEMPLUS

[+]

RETURN

Return key

RIGHT

Right arrow

RWIN

Right Win key

SHIFTKEY

Shift key

SPACE

Space

TAB

Tab key

UP

Up arrow

VOLUMEUP

Volume Up key

VOLUMEDOWN

Volume Down key

VOLUMEMUTE

Volume Mute key

Mouse

Mouse button

Description

LMOUSE

Mouse left button

MMOUSE

Mouse middle button

MSMOUSE

Mouse scroll wheel

RMOUSE

Mouse right button

GestureSensor

These gestures are recognized using the GestureSensor node.

Gesture

Description

PINCHPAN

Pan gesture

PINCHROTATE

Rotation gesture

PINCHZOOM

Zoom gesture

Joystick

Joystick

Description

JOYB1

Left button (XBOX=X, PS=SQUARE)

JOYB2

Down button (XBOX=A, PS=X)

JOYB3

Right button (XBOX=B, PS=CIRCLE)

JOYB4

Up button (XBOX=B, PS=TRIANGLE)

JOYB5

Left upper back button (XBOX=LB, PS=L1)

JOYB6

Right upper back button (XBOX=RB, PS=R1)

JOYB7

Left lower back button (XBOX=LT, PS=L2)

JOYB8

Right upper back button (XBOX=RT, PS=R2)

JOYPD

Down arrow

JOYPL

Left arrow

JOYLA

Left analog thumbstick

JOYPR

Right arrow

JOYRA

Right analog thumbstick

JOYPU

Up arrow

Oculus controller

Control

Description

OCULUSLGRIP

Oculus left grip button

OCULUSLMENU

Menu button

OCULUSLTRIGGER

Oculus left trigger button

OCULUSLTSBTN

Triggered when the left thumb stick is clicked

OCULUSLTSDOWN

Triggered when the left thumb stick is moved down

OCULUSLTSLEFT

Triggered when the left thumb stick is moved left

OCULUSLTSRIGHT

Triggered when the left thumb stick is moved right

OCULUSLTSUP

Triggered when the left thumb stick is moved up

OCULUSLX

X button

OCULUSLY

Y button

OCULUSRGRIP

Oculus right grip button

OCULUSRA

A button

OCULUSRB

B button

OCULUSRTRIGGER

Oculus right trigger button

OCULUSRTSBTN

Triggered when the right thumb stick is clicked

OCULUSRTSDOWN

Triggered when the right thumb stick is moved down

OCULUSRTSLEFT

Triggered when the right thumb stick is moved left

OCULUSRTSRIGHT

Triggered when the right thumb stick is moved right

OCULUSRTSUP

Triggered when the right thumb stick is moved up



In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in