Skip to content

Commit

Permalink
Update all READMEs for next release. Update unity sample with new 3D …
Browse files Browse the repository at this point in the history
…models
  • Loading branch information
orivier3 committed Feb 20, 2019
1 parent faa223e commit 4eed6d0
Show file tree
Hide file tree
Showing 135 changed files with 11,805 additions and 6,042 deletions.
74 changes: 52 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,79 @@
# Logitech VR Pen SDK
This SDK will allow your app to take advantage of all the features of the Logitech VR pen and give you all the necessary information to help the integration in your app.
# Logitech VR Stylus SDK
This SDK will allow your app to take advantage of all the features of the Logitech VR stylus and give you all the necessary information to help with integration in your app.

See here below a visual of what the pen looks like and a description of the typical controls:
![Pen Button Mapping](resources/penButtonMapping.png?raw=true)
The Logitech Stylus is a simple and powerful creative input device for VR. It allows for creation of precise, controlled lines and handwriting on virtual surfaces, physical surfaces, and in three dimensions.

See below an image of the device and a description of the controls:
![Pen Button Mapping](resources/LogiStylus.jpg?raw=true)
### Inputs & Controls

The device features several unique controls, these allow for a large range of potential experiences and interactions.
The key controls are:

![Button Layout](resources/buttonLayout.png)

| Control | Description | Input Type |
|---|---|---|
| Analog Button | The Analog Button allows for modulated input that can present a range of values. This can be used for creating variable line widths based on the pressure applied to the button. | Returns Value between 0 - 1 |
| Analog Tip | The Analog Tip allows for the creation of lines on physical surfaces that are mapped in VR. This can be used to recreate a drawing surface on a desk or a whiteboard. | Returns Value between 0 - 1 |
| Touch Strip | The Touch Strip allows for the adjustment of a control using up and down swipes. The touch strip is capacitive sensing and has a button to allow for multiple methods of input. | Returns Y Value between -1 - 1 The TouchStrip can be clicked |
| Grip Button | The Grip Button on the sides of the device allow users to intuitively pick objects up in VR, and to scale and move objects using a system controller in the non-dominant hand. | Returns True or False |
| Menu Button | The Menu Button is a simple switch that allows menus to be opened and closed. The button can be long-pressed to access the 6Dof Gestural Control | Returns True or False |
| System Button | The System button allows for access to the SteamVR shell. | Returns True or False |

## Development Kit Contents
You should have received a sample of our pen, if not ask for it.
You should have received a sample of our device, if not ask for it.

Available Directly in the Repo:
- [Sample Unity application](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/unity_sample_app) open source showing best practice to integrate the pen in your application
- [Unreal Engine documentation](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/unreal_sample_project) for Pen support
- [SteamVR render Models](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/steamVR_renderModels) for different versions of the pen
- [Sample Unity application](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/unity_sample_app) open source showing best practice to integrate the device in your application
- [Unreal Engine documentation](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/unreal_sample_project) for device support
- [SteamVR render Models](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/steamVR_renderModels) for different versions of the device

Available in the [Release](https://github.com/Logitech/labs_vr_pen_sdk/releases):
- SteamVR render model installer
- Demo app
- Unity package source code to be used for the integration of the keyboard in your app
- SteamVR render model and icon installer
- Unity package source code to be used for the integration of the stylus in your app
- Unreal Engine full project
- 3D Models


## Setting Up The Pen
## Setting Up The Stylus
### Add the RenderModel to SteamVR
This step will allow you to see the pen inside the SteamVR shell.
This step will allow you to see the device inside the SteamVR shell.

#### Use the installer
Download the Logi Pen Model Installer on the [releases page](https://github.com/Logitech/labs_vr_pen_sdk/releases), run the application, and follow the instructions on screen!
#### Using the Installer (Recommended)
Download the Logitech Stylus Model Installer on the [releases page](https://github.com/Logitech/labs_vr_pen_sdk/releases), run the application, and follow the instructions on screen! You will have access to updated icons as well as the device rendermodel in the shell.

#### Copy files manually
Copy the [RenderModel folder](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/steamVR_renderModels) that corresponds to the version of your Logitech Pen in the appropriate SteamVR sub-folder. Typically the path is something like this : `C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\rendermodels`
### Pairing the pen
#### Copy Files Manually
Copy the [RenderModel folder](https://github.com/Logitech/labs_vr_pen_sdk/tree/master/code/steamVR_renderModels) that corresponds to the version of your Logitech Stylus in the appropriate SteamVR sub-folder. Typically the path is something like this : `C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\rendermodels`
### Pairing the Stylus
![Pair Pairing](resources/pairPen.png?raw=true)

Pairing works the same as per a regular Vive controller. Turn on SteamVR, if you already have two controller paired to your Vive Headset you should turn off one of them before proceeding.
<br>
First turn on the Logitech Pen by pressing the power button, status LED will go blue. Then you go into SteamVR right click on greyed-out controller icon and then select *Pair Controller*. Press both the Menu and Power buttons together, the status LED will blink BLUE, and it will be solid GREEN on the Pen once pairing is complete.
### Trying out the Pen
First turn on the Logitech Stylus by pressing the system button, status LED will go blue. Then you go into SteamVR right click on greyed-out controller icon and then select *Pair Controller*. Press both the Menu and Power buttons together, the status LED will blink BLUE, and it will be solid GREEN on the Pen once pairing is complete.
<br>

### Trying out the Stylus
You are now ready to go. The pen should work with existing SteamVR applications in the same was as a Vive controller.
If you want to try a fully integrated application I recommend you to try out the Logitech Sample app available in the [Release](https://github.com/Logitech/labs_vr_pen_sdk/releases).
<br>
You can also get started with the Pen in Unity by either cloning this repository or downloading the Unity Package available in the [Release](https://github.com/Logitech/labs_vr_pen_sdk/releases).
You can also get started with the device in Unity by either cloning this repository or downloading the Unity Package available in the [Release](https://github.com/Logitech/labs_vr_pen_sdk/releases).



## Feedback & Bugs

We are working constantly to improve and address issues with the device, so please make sure you have the latest release of SDK installed and running.

We also value your input on:
- possible bugs
- shortcomings
- issues
- incompatibilities

as well as:
- enhancements ideas
- possible new features

We strongly suggest to use our private GitHub repository for bug reports and features requests. Follow this [link](https://github.com/Logitech/labs_vr_pen_sdk/issues) and post it there.

<br>
Expand Down
15 changes: 15 additions & 0 deletions code/future_support/ReadMe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Logitech Stylus Support in SteamVR
### Status Today
The Logitech Stylus wil is still in development and as such doesn't support all the latest feature from OpenVR and SteamVR:
- In SteamVR Home the Logitech Stylus is not displayed, instead you will see a Vive Controller. If you want to see the Stylus render you need to be in the **shell**
- The Stylus is not fully supported in SteamVR Input 2.0, as such when looking at creating a specific binding for the stylus you would be greeted by this:
![Button Layout](../../resources/LighthouseController.PNG)
- The Logitech Stylus suffers from the same issue as existing Vive or Knuckles controller regarding LED status and other charging problem
- Right now the Nib of the Stylus and the Primary button are using the same channel to report their analog values.
### Future support
We are working to get the pen fully integrated in OpenVR ecosystem and we will address all the previous concerns for our launch.
Here is a sneak peek of the progress:
![Input Binding Preview](../../resources/legacy_inputPreview.gif)

## Road map
![Input Binding Preview](../../resources/timeline.PNG)
9 changes: 5 additions & 4 deletions code/steamVR_renderModels/Readme.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Pen Render Model
# Render Model

This folder contains the current render models for the different revisions of the pen. When trying to detect if a pen is present in the application, refer to the information on this page to ensure you are checking the correct property.
This folder contains the current render models for the different revisions of the stylus. When trying to detect if a stylus is present in the application, refer to the information on this page to ensure you are checking the correct property.

## Adding render model to SteamVR

### Use the installer
### Use the installer (Recommended)

Simply download and unzip [logi_pen_mode_installerl.zip](https://github.com/Logitech/labs_vr_pen_sdk/releases), run the executable file and follow the instructions. Feedback on this procedure is appreciated!
Simply download and unzip [logi_pen_mode_installer.zip](https://github.com/Logitech/labs_vr_pen_sdk/releases), run the executable file and follow the instructions. Feedback on this procedure is appreciated!

### Manually add render model to SteamVR

Expand All @@ -18,3 +18,4 @@ Copy the `logi_pen` folder to the appropriate SteamVR sub-folder. Typically the
|------|----------------|------------------|-----------------------|-------------------|
|![Update Picture](../../resources/logi_pen_v20.jpg)| This version has a glossy finish and smooth texture. The Power button is underside the pen, below the primary button. **This version has no haptics** |`Logitech` |`logi_pen_v2.0` | `logi_pen`
|![UpdatePicture](../../resources/logi_pen_v30.jpg) | This version has a rough finish. Power button is on the top next to the LED. Haptics are included |`Logitech` |`logi_pen_v3.0` | `logi_pen`
|![UpdatePicture](../../resources/Logitech_Stylus40.JPG) | This version has a touchstrip and pressure activated buttons at the tip, on the top and the side of the pen |`Logitech` |`logi_pen_v4.0` | `logi_stylus_v4.0`
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Blender MTL File: 'stylus4_0.blend'
# Material Count: 1

newmtl LogiPen
Ns 94.117647
Ka 1.000000 1.000000 1.000000
Kd 0.029927 0.029927 0.029927
Ks 0.026829 0.026829 0.026829
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2
map_Kd logi_stylus_v4.0.png
Loading

0 comments on commit 4eed6d0

Please sign in to comment.