Skip to content
Snippets Groups Projects
Commit 3e729736 authored by johnshaughnessy's avatar johnshaughnessy
Browse files

Remove generated table of contents

parent 5f27c690
No related branches found
No related tags found
No related merge requests found
# Table of Contents
1. [The userinput system](#org6030eab)
1. [Overview](#org2da9acd)
2. [Terms and Conventions](#org4721ce9)
1. [path](#orgd62cc68)
2. [action](#orgb8066a6)
3. [frame](#org15eafde)
4. [device](#orgea2f123)
5. [binding](#org47c9c20)
6. [xforms](#org876e7b0)
7. [set](#orgbe4669b)
8. [priority and root](#orgdd3c0c5)
<a id="org6030eab"></a>
# The userinput system
......@@ -25,7 +10,7 @@ The userinput system is a module that manages mappings from device state changes
## Overview
The userinput system happens to be an `aframe` `system`; its `tick` is called once a frame within the `aframe` `scene`'s `tick`. When the userinput system `tick` happens, it is responsible for creating a map called the frame. The keys of the frame are called "paths". The values stored in the frame can be any type, but are usually one of: bool, number, vec2, vec3, vec4, pose. On each tick, each connected `device` writes "raw" input values to known "device paths" within the frame. Configuration units called `bindings` are then applied to transform "raw" input values to app-specific "actions". The userinput system exposes the state of a given `action` in the current frame via `readFrameValueAtPath`. The `bindings` that are applied to transform input to "actions" must be `available`, `active`, and `prioritized`.
The userinput system happens to be an `aframe` `system`; its `tick` is called once per `aframe` `scene` `tick`. The userinput system `tick` creates a map we call the frame object. The keys of the frame are called "paths". The values stored in the frame can be any type, but are usually one of: bool, number, vec2, vec3, vec4, pose. On each tick, each connected `device` writes "raw" input values to known "device paths" within the frame. Configuration units called `bindings` are then applied to transform "raw" input values to app-specific "actions". The userinput system exposes the state of a given `action` in the current frame via `get(path)`. The `bindings` that are applied to transform input to "actions" must be `available`, `active`, and `prioritized`.
1. A `binding` is made `available` when the userinput system detects a change to the user's device configuration that matches certain criteria. A touchscreen user only has `availableBindings` related to touchscreen input. A mouse-and-keyboard user only has `availableBindings` related to mouse-and-keyboard input. An oculus/vive user has `bindings` related to mouse, keyboard, and oculus/vive controllers.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment