Category Archives: Controllers

Oculus CV1 Support Added to CtrlAltStudio Viewer:

I’ve updated the CtrlAltStudio Viewer “as is” to work with the latest Oculus Runtime, i.e., able to be used with CV1 Rift as well as DK2s and DK1s. This is a courtesy to CV1 owners who wish to experience Second Life in VR.

Be aware, though, that the viewer is still based on the old (Dec 2014) codebase of Firestorm 4.6.9 so is quite out of date with many features and fixes missing. Furthermore, the viewer is not optimized for VR — the FPS is not really high or consistent enough for “proper” VR. Some people are more sensitive to such rendering issues than others; however, it does let you get a taste for what user-created VW’s like Second Life can be like in VR.

Other changes of note:

  • Added “FOV multiplier” and “Pixel density” display settings that let you tweak the displayed field of view and number of pixels rendered in the process of generating the Rift images. Depending on your graphics card capabilities, you may want to increase these for better visuals or decrease these for higher FPS.
  • Added an “Enable All GPU Features” display setting that enables all graphics settings. If you have a new, high performance graphics card but graphics preferences such as “Basic shaders” are disabled this means that your graphics card isn’t recognized by the viewer; you can use this new setting to enable the display settings.
  • Added support for the Xbox One controller: a “Combine Xbox One triggers” joystick setting lets the left and right trigger values of the Xbox One controller be used to fly up and down the same as you can use them with an Xbox 360 controller.

For more details, see the Release Notes.

Usage instructions and tips.

Viewer download:

  • Windows installer: Alpha, 18 Jul 2016.
  • Mac OSX installer: Not available.

NOTE: This viewer is no longer being maintained. See the Viewer page for details.

Others’ blog posts:

Some Custom High Fidelity Scripts

If you’re using High Fidelity you’re probably aware that much of it is controlled by JavaScript scripts, and that you can modify these JavaScripts and write your own.

I’ve written an interim local chat script that lets you text chat with others on the domain you’re in.

And I’ve modified a couple of scripts to make them operate in a manner I prefer:

If you’d like to run the above scripts plus the other normal High Fidelity default scripts, you can run my modified defaultScripts.js instead of the High Fidelity version of it:

These and future customizations will be maintained in the new HiFi section of the Web site.

Note: When using these scripts you should normally run them from the URL given rather than download and run a local copy: running them from the URL means that you automatically get the most recent version.

Release 1.2.1: Xbox 360 Controller Support

New this release is Xbox 360 controller support. With it you can walk your avatar, fly your avatar, use mouselook, use flycam, orbit about points in 3rd person view, click on objects and use objects’ context menus … with normal, stereoscopic 3D, and Oculus Rift display output.

Xbox 360 Controller

[By Alphathon (Own work) [CC-BY-SA-3.0 or GFDL], via Wikimedia Commons]

The following control scheme is provided:

  • Back: Toggle flycam on/off.
  • Start: Toggle between moving avatar and moving cursor.
  • Back + Start: Toggle Rift or 3D stereoscopic 3D on/off.
  • In avatar movement mode:
    • Left stick: Move forwards / backwards and left / right.
    • Right stick: Change camera pitch and roll.
    • Left & right triggers: Fly down / up.
  • In cursor movement mode:
    • Left stick: Move cursor up / down and left / right.
    • Right stick: Scroll mouse wheel forwards / backwards (i.e., zoom view).
    • Left & right triggers: No action.
  • Left stick click: Jump up / stop flying.
  • Right stick click: Toggle 1st person view.
  • Left bumper: Left or right mouse click. *
  • Right bumper: Right or left mouse click. *
  • Y key: Escape
  • X key: Control
  • A key: Alt
  • B key: Shift
  • D-pad: Not used
  • * There’s a preferences option to swap bumper buttons.

With your Xbox 360 controller connected — wired or wireless — enable it in Preferences > Move & View > Movement. Then you can adjust its configuration using the associated Joystick Configuration button. Xbox 360-specific defaults are provided. You should also calibrate your controller, e.g., using the device’s properties provided via Windows’ Devices and Printers folder. (To date it has only been tested on Windows.)

Other changes this version:

  • Updated to Firestorm 4.6.5 codebase. Lots of good stuff there.
  • Miscellaneous enhancements and bug fixes. See the Release Notes for details.


UPDATE: The 41169 version is a minor update that fixes some Xbox controllers not being recognized; it is otherwise identical to the original 41167 version. You don’t need to update unless you are encountering the problem.

Alpha 5: Configurable Walk Speed and Kinect Control

Configurable walk speed and Kinect for Windows enable

Configurable walk speed and Kinect for Windows enable

In the time-honoured tradition of making things do that which they weren’t quite designed for, I’ve added a variable walking speed to the CtrlAltStudio Viewer, Alpha 5 I’ve also added “spot standing” Kinect control of avatar movement for people to try out. These two items can be used with all display modes: normal, stereoscopic 3D, and Oculus Rift.

The variable walk speed came about through a confluence of factors. When using the Oculus Rift, the jolt when starting and stopping movement was quite severe, and it seemed to be exacerbated in my initial Kinect control trials. Also, the high speed of movement and lack of fine control in position was a problem both when walking and when flying with the Rift. I happened across a Firestorm JIRA, FIRE-11098, in which Adeon Writer notes SL server support for slow walking if you hold the spacebar down while walking. I expanded on this idea so that you can set your walk speed to 1 of 5 levels from really slow to the “normal” fast walk. The setting also controls your flying speed.

This variable speed is admittedly a bit of a kludge, and the avatar’s animations at some speeds and directions is not very good. Also, it unfortunately doesn’t work very well at all with OpenSim: walking is always done at normal speed and flying at slow speeds is stuttery. And it doesn’t work properly with the SpaceNavigator (yet). Still, I find variable speed much better than the default fast walk and if other people do too, perhaps Second Life and OpenSim might be updated with better support for it.

Kinect control gestures

Kinect control gestures

The variable walk speed improves the usability of Kinect “spot standing” control, usable in Windows builds on PCs with Kinect for Windows sensors installed. You set a “home” position of zero movement, then once you move out of a dead zone around that position your avatar starts moving in the direction you’ve moved in. Avatar movement starts off slow and increases speed as you move further out, with the maximum being that of the walk speed you’ve configured. Except that for forwards movement you start running after the maximum walk speed. Also, if you move too far away then movement stops.

To turn, rotate your shoulders. To fly up or down use the gestures shown above. You can also crouch down to fly down. The speed of turning and flying up or down depend on how far you turn or lower and raise your arms. To stop control, either use the “stop” gesture or walk out of Kinect range.

I like the experience of the Kinect control when standing using the Rift, however it does take a bit of getting used to and can be a bit laggy in operation. The new Kinect sensor due out in the not too distant future will have lower latency and increased resolution, both of which should help improve the experience.

Oculus Rift orientation prediction setting

Oculus Rift orientation prediction setting

One other particular item of note added this version is configurable Rift orientation sensor prediction. Sensor prediction helps reduce latency and you can configure how far into the future your orientation is predicted. With your Rift on, adjust the Prediction Delta value until moving your head feels most comfortable.

Further changes this version are listed in the release notes.


You can install this version over the top of a previous 1.1 alpha version.