Tag Archives: User Interface

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.

Upcoming Linden Lab Oculus Rift Support

Good news today that Linden Lab’s Oculus Rift support is feature complete and will be released “soon”. Nalates guesses that this will not be before January. I’m very pleased to see that the Lab has spent time optimizing the rendering, something which I intentionally haven’t done in the CtrlAltStudio Viewer on the expectation that they would make significant code changes.

I and other third party viewer developers will be able to pick up the Lab’s code, add in any missing bits and trial feature alternatives, and make it available for use with OpenSim also.

What to expect compared with the current CtrlAltStudio Viewer:

  • Increased FPS.
  • Reduced simulator sickness.
  • A nice UI.
  • I can’t wait!

    See also: Jo Yardley’s blog post.

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.

Alpha 4: Some Preliminary Rift UI in the CtrlAltStudio Viewer

Chat Window and Minimap in Riftlook View

Chat window and minimap in Riftlook view. OSgrid Lbsa Plaza

This alpha, CtrlAltStudio Viewer, adds some preliminary UI capability while in Riftlook to put the “social” back into your virtual world experience while using the Rift. And test your touch typing skills!

Note the “preliminary”: the Riftlook UI provided is just that and less than ideal, but it does provide some useful capability. I originally wasn’t intending to do any UI as I thought Linden Lab’s viewer with Rift support would have been released by now, but it hasn’t been and there’s a pressing need for at least some UI so I’ve added some as a stop-gap measure.

Changes this version include:

  • Added Riftlook display of floating windows such as chat and inventory.
  • Added Riftlook display of avatar toasts and floating text.
  • Added right-click object interaction in Riftlook.
  • Changed to have the mouse operate the UI by default while alt-mouse moves the view.
  • Added option to have the mouse move the view horizontally only.
  • Fixed mouse coordinates in Riftlook.
  • Fixed teleporting in Riftlook.
  • Fixed flycam with the SpaceNavigator in Riftlook.
  • Included Latif Khalifa’s fix for the “4096 bug” that limited the OpenSim teleport range.
  • Updated to Oculus Rift SDK 0.2.5 for improved tilt and yaw correction and reduced drift.

Limitations include:

  • Menu bars and the toolbar aren’t displayed in Riftlook.
  • Context menus displayed when you right-click an object in Riftlook are always displayed in list form rather than pie form.

More details are provided in the Release Notes.

To use the UI in Riftlook:

  • Turn on “Show user interface in Mouselook” and “Enable context menus in Mouselook” in Preferences > Move & View > View.
  • You may also want to turn on “Show chat in bubbles above avatars” in Preferences > Chat > General.
  • While in Riftlook with the above settings you can use keyboard shortcuts to show and hide dialog boxes. For example, the Conversations window (Ctrl-T), Inventory (Ctrl-I), e.g., if you want to select a landmark to teleport to, Ctrl-Shift-M to display the minimap, etc. Keyboard shortcuts are displayed beside menu items in normal view.
  • Use the mouse cursor to left-click interact with windows and right-click interact with in-world objects, and Alt-mouse to move the camera view. Alternatively, you can configure the mouse to move the view and Alt-mouse to control the cursor. See these and other options in Preferences > Graphics > Display Output.

Regarding touch typing, you do get better with practice. My laptop’s keyboard is a rather monolithic array of keys with little to aid touch navigation, so I’ve cut some squares from the sticky part of Post-it Notes and placed them in strategic locations around the keyboard perimeter to provide some reference points for my fingers.


  • Windows: Alpha 4, 23 Oct 2013.
  • Mac OSX: Alpha 4. Sorry, no Mac version this release.

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

Happy touch typing!