             if @use_unpredict
                 quat.slerp r0, @left_orientation, r0, unpredict
             quat.copy @left_orientation, r0
+            # TODO: Test with other headsets.
+            @head_is_tracking =
+                not (p0.x == m4.m12 and p0.y == m4.m13 and p0.z == m4.m14)
             vec3.set p0, m4.m12, m4.m13, m4.m14
 
             mat4.copyArray m4, rightViewMatrix

        @context.canvas_screen.enabled = false
        for behaviour in @context.enabled_behaviours
            behaviour.on_enter_vr? left_cam, right_cam

    destroy: ->
        @context.vr_screen = null
        @context.screens.splice @context.screens.indexOf(this), 1
        @context.canvas_screen.resize_to_canvas()

            behaviour.on_exit_vr?()
        return

    exit: ->
        @HMD.exitPresent()
        @destroy()

    pre_draw: ->
        {HMD} = this
