       @startLooping()
       @_captures.push 'captureFrameScale'
       @on 'frameScale', (data) -> controller.leap_frame_scaled data
-    if controller.leap_frame_translated
+    if func = controller.leap_frame_translated || controller.leap_frame_moved
       @startLooping()
       @_captures.push 'captureFrameTranslate'
-      @on 'frameTranslate', (data) -> controller.leap_frame_translated data
+      @on 'frameTranslate', (data) -> func.call controller, data
     if controller.leap_hand_added
       @startLooping()
       @_captures.push 'captureHandAdd'

# this funky syntax is to prevent `Leap` from resolving to
# `Jax.Input.Leap` within the class definition.
Jax.Input.Leap = class _Leap extends Jax.Input


  register: (controller) ->
    if typeof(Leap) is 'undefined'
      console.log 'Your controller is listening for Leap Motion actions, but Leap could not be found.'
      console.log '  Did you include leap.js?'
      return
    
    if controller.on_leap_frame
      @startLooping()
      @_captures.push 'captureFrame'
