Vizconnect Hardware Configuration
Vizconnect
Vizconnect is Vizard's tool for connecting displays, trackers, and much more without programming. The visual interface lets you connect devices on-the-fly, see the results immediately in your Vizard render window, and use the visual interface to troubleshoot thorny hardware issues.
For more information on Vizconnect, see the Vizard Documentation here. Below you can find relevant vizconnect information related to SightLab and the built in hardware button events. For supported hardware see this page.
There are built-in Events that can be called and used with SightLab. Some of these are necessary for some default features (such as the Arc Teleport and Instructions), others are just mapped to specific buttons on a controller and used for certain examples and some custom features. To modify the mappings or any vizconnect features (including adding new controllers, inputs, displays or trackers, see the vizconnect page on how to do that). Find the vizconnect_configs folder by going to C:\Program Files\WorldViz\Vizard<version>\bin\lib\site-packages\sightlab_utils\vizconnect_configs. You can find a shortcut to this also in the "Util_Files" in your main SightLab documents folder.
To change the list of hardware from the dropdown use this code (making sure that the names are correct from the settings list). When calling SightLab
sightlab = sl.SightLabClient(vizconnectconfiglist = ['Desktop', 'Meta Quest Pro'])
To bypass the dropdown altogether and use a specific vizconnect:
sightlab = sl.SightLabClient(hardwareconfig = 'Meta Quest Pro')
To use a custom vizconnect that's not included in SightLab, use this code:
sightlab = sl.SightLabClient(vizconnectconfig = {'Desktop': 'vizconnect_config_desktopy.py'}
List of custom events. Access the vizconnect file and go to the Advanced- Events tab and click "Mappings" to change the mappings used. To use one of these callbacks in your script use this code (where "triggerPress" is the name of the event being used here). This will call the function using the RH trigger on a VR controller or left mouse button with a desktop configuration.
def yourFunction():
print('do something')
viz.callback(viz.getEventID('triggerPress'), yourFunction)
screenshot of some of the events, full list below
HMD Mappings for Events
SNAP_LEFT (used for rotating left with the arc teleport transport)
Button: Thumbstick Left
SNAP_RIGHT (used for rotating right with the arc teleport transport)
Button: Thumbstick Right
triggerPress (used for any callback you want to use with the RH trigger button or left mouse button). Used as the default for clicking past instructions, confirming a rating scale, confirming a selection with the built-in selector tool, interacting with the VR Menu and virtual screen as well as some other various examples).
Button: Button Trigger (right hand)
triggerPress2
Button: Button Trigger (right hand)
triggerPress3
Button: Button Trigger (left hand)
pressLeft (used for selecting left on the rating scale)
Button: Thumbstick Left (right hand)
pressRight (used for selecting right on the rating scale)
Button: Thumbstick Right (right hand)
ResetPosition
Button: Key R (keyboard)
ResetPositionHMD
Button: Button Squeeze + Button X/A (right hand)
secondTrigger (used as the default to bring up the highlighter, when a highlighter tool is added to your project)
Button: Button Squeeze (right hand)
secondTriggerLeft (used as the default to bring up the highlighter with the left hand, when a highlighter tool is added to your project)
Button: Button Squeeze (left hand)
triggerPressLeft
Button: Button Trigger (left hand)
toggleMenu (used with repositiong the tablet from the tablet_manager module, which is used for the "VR Menu", "Jump To Navigation" menu, "Flashlight", "Image Instructions" and others)
Button: Button Thumbstick (right hand)
setOpenXRHead (used to move the head height when using an OpenXR headset)
Button: Button Squeeze (left hand) + Button Y/B (right hand)
triggerDown (used for querying the AI agent with a question, hold down while speaking)
Button: Button Squeeze (right hand)
triggerUp (used for querying the AI agent with a question, let go when finished speaking)
Button: Button Squeeze (right hand, not pressed)
toggleMedia (used for toggling playback of media on certain examples, but can also be used for any callback you may want to call with the LH thumbstick)
Button: Button Thumbstick (left hand)
nextModel (used to select the next model or slide with the model viewer or the E-Learning Lab)
Button: Button Y/B (left hand)
prevModel (used to select the previous model or slide with the model viewer or the E-Learning Lab)
Button: Button X/A (left hand)
triggerDown2
Button: Button Y/B (right hand)
triggerUp2
Button: Button Y/B (right hand, not pressed)
showControls
Button: Button Thumbstick (right hand)
actionButton2
Button: Button X/A (right hand)
Desktop Mappings for Events
TtriggerPress
Keyboard Command: Left Mouse Button
pressLeft
Keyboard Command: Left Arrow Key
pressRight
Keyboard Command: Right Arrow Key
triggerPress2
Keyboard Command: Left Mouse Button
triggerPress3
Keyboard Command: Left Mouse Button
ResetPosition
Keyboard Command: Key R
confirmHighlight
Keyboard Command: Key T
secondTrigger
Keyboard Command: Right Mouse Button
toggleMenu
Keyboard Command: Key M
measuringToolStart
Keyboard Command: Key C
measuringToolEnd
Keyboard Command: Key G
triggerDown
Keyboard Command: Key C
triggerUp
Keyboard Command: Key C (not pressed)
triggerDown2
Keyboard Command: Key 2
triggerUp2
Keyboard Command: Key 2 (not pressed)
actionButton2
Keyboard Command: Enter/Return Key