Navigation

Ventuz Introduction

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Ventuz Products
  • Realtime Rendering
  • Frequently Asked Questions
  • Common Mistakes
  • Deploying a Ventuz Presentation
  • Scene Performance and Tweaks

Quick Guides

  • Quick Guide Index
  • Business Logic
  • 3D Art
  • 2D Art
  • Programming
  • System Engineer

General

  • Index
  • What's New
  • Ventuz System Requirements
  • Communication Protocol Overview
  • Configuration Editor
  • Audio / Video Configuration
  • Machine Configuration
  • Web Configuration Editor and License Manager
  • GPI Configuration for Runtime or Director
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Content to Ventuz 6
  • Migrating Content to Ventuz 5
  • Summary Shortcuts
  • Terminology
  • Manual Index

Ventuz Designer

  • Designer Indices
Introduction
  • Designer Introduction Index
  • Designer Overview
  • Realtime Rendering
  • Project Browser
  • Designer Interface
  • Designer Options
  • Working with Nodes
  • Hierarchy and Content Editors
  • 2D Workflow
  • 3D Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
User Interface
  • Designer User Interface Index
  • Designer Interface
  • Renderer Window
  • Layer Editor
  • Property Editor
  • Property Groups
  • Hierarchy Editor
  • Content Editor
  • Find and Replace
  • Toolbox
  • Animation Editor
  • Shader Editor
  • Text Editor
  • Message View
  • Scene Tree
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Performance Statistics
2D Workflow
  • 2D Workflow Index
  • 2D Workflow
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Hierarchy and Content Editors
  • Display Images and Movies
3D Workflow
  • 3D Workflow Index
  • 3D Workflow
  • Hierarchy and Content Editors
  • Renderer Window
  • Camera Navigation
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Display Images and Movies
  • Particle System
  • Creating Realistic Reflections
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Logic Workflow
  • Logic Workflow Index
  • Hierarchy and Content Editors
  • Content Editor
  • Hierarchy Editor
  • Working with Nodes
  • Property Editor
  • Containers
  • Project and Scene Data
  • Reading Data in Ventuz
  • Display Images and Movies
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Animation Workflow
  • Animation Workflow Index
  • Animation Workflow
  • Animation Editor
  • Content Editor
  • Hierarchy Editor
  • Property Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Projects and Scenes
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Management
  • Scene Statistics
  • Scene Tree
  • Performance Statistics
How Tos
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To use the Vertex Integration
  • How To Control and Customize Ventuz
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes
  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Ventuz Director

  • Index
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Configuration Editor
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to Use Head Mounted Displays
  • How to Setup Spout with Ventuz
  • How to Use Newtek NDI
  • How to Use a Mixed Frame Rate Cluster
  • How to Use Tracking

How To

Designer
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Runtime & Configuration
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to use Head Mounted Displays
  • How to setup Spout with Ventuz
  • How to use Newtek NDI
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
E2E
  • E2E Axis
  • E2E Data
  • E2E Control
  • E2E Layer
  • E2E Provider
  • E2E Node Overview
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
  • HTTP
  • RamDiskWriter
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
  • QR Code
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths

Advanced and Development

  • Advanced and Development Index
  • Command Line Options
  • Ventuz IP Ports
  • Ventuz Machine Service
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz Extension API
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API
  • Lens Calibration File for FreeD
  • E2E Node Overview
  • Unreal Integration
  • Notch Integration
Remoting
  • Remoting Index
  • Remoting Overview
  • How To Control and Customize Ventuz
  • Remoting 4
  • Remoting 4 via Websockets
  • Remoting 4 via HTTP
  • Director Remoting
  • Deprecated Remoting
  • Remoting Machine Signature

Misc

  • Presets
« Previous:
» Index «
Next: »

Keyboard

Windows Key This node informs about keystrokes while the focus is on the renderer window.
DirectInput Key This node informs about every keystroke done on the keyboard.
Textfield Input Concatenates keyboard input received by the renderer window to a single string.
IME Textfield Input Concatenates IME (Input Method Editor) keyboard compositions received by the renderer window to a single string. (far-east languages)
Chinese Conversion Conversion of Chinese characters between traditional, simplified, taiwan, Hong-Kong and Japanese standards

Windows Key

This node makes it possible to interact with a Ventuz scene via keyboard. It provides information whether a specific key is pressed or not. Additionally, it triggers events when a key is pressed or released.

This node only reacts on key hits that occur within the Renderer window. Key hits outside this window are ignored.

If AutoDeactivate is enabled, this node will be automatically deactivated if the parent Hierarchy Container is blocked. The property Active determines if this node is active and if it should react on the key hits. The property Key defines which key the node listens for. To specify the key, click on the triangle in the Key property argument field and then press the desired key. It is also possible to specify a key combination like CTRL + P.

If SendEventArg is enabled the ​key code is sent as argument via the KeyDown and KeyUp event which occur if the correct key is pressed. This is usually used when binding a key event to a Script Node so that the key code value is available in the event handler without having to bind an additional property.

If Key is set to None, the node will react on all keyboard inputs!

The Emit method simulates a key stroke and the node behaves as if the specific key on the keyboard has been hit. In this case the KeyUp occurs one frame after the KeyDown event. This Emit can be used to build a Ventuz scene which works identically with a real keyboard and a virtual keyboard on a touch display. By default, an emit will only create a Ventuz-internal key press/release message that will not be sent to Windows or any other application. When enabling EmitSimulatesHardware, the press/release are submitted to Windows instead and will thus create the same behavior as if the user would have pressed a key on his keyboard. This has multiple side-effects:

  • The key press/release will be sent to whatever window has keyboard focus. This could even be another application, so extra care has to be taken that the key press will not trigger some unintended functionality. Note this also means that pressing the Emit method in the Property Editor will send the key to the Property Editor (as it has focus due to the mouse click)!
  • If the key is a non-diacritic symbol, Windows will generate a character message in addition to the press/release messages. For example, pressing the ^ key on the keyboard fires a press/release but no character message. If the a key is pressed afterwards, a â character message is sent in addition to the press/release key messages. Those are required for certain nodes that have to do with text input, most notably the Textfield Input and the Web Browser node.

In addition to the events described above, this node provides information about the state (NotPressed, Pressed) of a specific key and its code (KeyCode).

DirectInput Key

This node provides nearly the same functionality as Windows Key. But there are two differences: this node notices every key stroke inside and outside the Renderer window and even outside the Ventuz application. It is not possible to send the key code as argument via the events and it is not provided as an output property.

Textfield Input

Technically the Textfield Input node is related to the Windows Key node. Both only listen to key presses that are issued when the Renderer Window has keyboard focus. But where the Windows Key node is designed for listening to individual key strokes, the Textfield Input node listens for characters being generated instead of keys being pressed. When a diacritic key is pressed (for example the ^ key), Windows notifies applications of the key being pressed but does not issue a character. Only when a second key is pressed, the combined result (for example â) is sent. For non-accented characters, both the key press and character are sent at the same time.

The Textfield Input node listens for such character messages and concatenates all such characters into a single string that is provided via the Text output property. This is usually bound to a Text Layout/Text Rendering combination to visualize the input. Using Backspace to delete the last character is supported but there is no caret that can be used to specify at which position the next character is inserted.

If the SingleLine property is activated, the Textfield Input node will ignoring new line characters. The PressedEnter event will however fire regardless of the SingleLine property. In addition, MaxLength can be used to restrict the number of characters in the generated string. If set to a value different from -1, any new keypress will only be added to the output string if it does not exceed the limit set in MaxLength.

The Paste from Clipboard function directly pastes the contents of your clipboard into the Textfield input.

If the Textfield Input is supposed to be used in conjunction with the Windows Key Emit method, the EmitSimulatesHardware property has to be activated. Otherwise only Ventuz-internal key press/release events are generated which do not cause Windows to send the character messages the Textfield Input node requires.

The InjectChar method accepts an integer value which is translated to a unicode character. When the method is invoked, the browser reacts as if this key would have been inserted via the hardware keyboard. Note that this is not the same as pressing a hardware key. For example, to generate the letter â on a German keyboard takes two key presses, first the ^ key and then the a key. In order to support more languages, the inject method accepts a character and not a key press. There are however a number of special character codes supported:

Code Description
13 Return
9 Tab
8 Backspace
127 Delete
27 Escape

The pass an integer value as part of the method invocation, either the output event of a Script node or an Event node has to be used. For the latter, the value can be specified in its Argument property.

The Property Editor accepts hexadecimal numbers if they are entered with a leading "0x" or "#"

The unicode values for the most commonly used characters can be found ​here and ​here. Additional information on other character sets can be found ​here.

IME Textfield Input

The IME Textfield Input node is basically the same as the Textfield Input node except it uses the Input Method Editor (​IME) for composing text in far-east languages. Every key stroke is interpreted by the IME and used to create a text composition. The currently edited composition is output at the CompositionPreview property. All Menu output properties describe a a list of candidates for the user to select by either navigating with the cursor keys or by pressing the keys 1 to 9. MenuCandidates and MenuComments provide a string array of all currently selected candidates. The method ControlSelectCandidate can also be used to select a candidate from list. The argument of the event (0-8) is mapped to the keys 1 to 9 and the index 9 is mapped to 0 Depending on the selected Schema a composition is committed by pressing SPACE or by calling the method CompositionCommit The current composition can also be cleared by calling the method CompositionClear, while method ControlReset resets the entire IME, its composition as well the the commited text in CompositionText

By default the node is configured to operate vertically. This means the list of candidates should be displayed vertically because UP/DOWN and PAGE UP/PAGE DOWN are used to navigate. The ConfigHorizontal changes this behavior to horizontal: LEFT/RIGHT and PAGE UP/PAGE DOWN are used to navigate the candidates.

The IME implementation used ​RIME under this ​license. RIME uses certain data source files describing the Schemas to be used for input. Some of them are deployed with your installation. The data files can be found in {InstallationDir}\Rime\data. You can manually add your custom data files to this directory. Ventuz and RIME will reparse this data, which is deployed to the default folder C:\ProgramData\Ventuz{version}\Cache\Rime on program start. The actual usage and candidate selection made are stored in databases and can also be found in the Rime folder. RIME is a learning system. It remembers your frequent selections for fast typing. You can delete the entire content of this folder. The clean data will be recreated on program start.

The property Conversion selects the conversion standard to be used to convert traditional Chinese characters to other standards. See also Chinese Conversion node. A selection of None keeps the character produced by the IME untouched.

Please note that the Scene and its logic is responsibe to visualize the composition preview, the candidate menu and the current selection. The IME Textfield Input node produces 10 candidates per page at maximum. The deployed Chinese schemas (pinyin)) produces 5 candidates at maximum.

Chinese Conversion (中文轉換)

This node is used to convert Chinese text between certain Chinese standards like Traditional, Simplified, Hong Kong standard, Taiwan standard and Japanese Kanji. The conversion is based on the open source project ​OpenCC 開放中文轉換. The text of the Input property is converted with the selected conversion type in Config to the Output property. The Active property enables the conversion. If a wrong config is selected or the node is not activated, the input is directly bypassed to the output. For example conversion from traditional 將軍 (jiang'jun: general) to simplified standard results in 将军.

See also:
  • Input Handling inside Ventuz
  • ​MSDN: KeyData property
  • Web Browser node
  • ​Pinyin romanizations of Chinese language
  • ​OpenCC - Chinese Conversion
  • ​IME - Input Method Editor

« Previous:
» Index «
Next: »
Copyright 2022 Ventuz Technology