public bool GetGestureTriggered(EdsacGestures gesture)
 {
     return gestureSwitchedOn[(int)gesture];
 }
 public bool GetGestureToggled(EdsacGestures gesture)
 {
     return gestureSwitchedOn[(int)gesture] || gestureSwitchedOff[(int)gesture];
 }
 public bool GetGestureEnded(EdsacGestures gesture)
 {
     return gestureSwitchedOff[(int)gesture];
 }
 public bool GetGestureHappening(EdsacGestures gesture)
 {
     return gestureTogglePositive[(int)gesture];
 }
 private bool ReadRawGestureInfo(EdsacGestures gesture)
 {
     switch(gesture) {
     case EdsacGestures.LEFT_SWIPE:
         if (useNumpad) {
             return (useNumpad && Input.GetKey(KeyCode.Keypad4));
         } else {
             return !useGamepad && !leftDragController.wasDragging && !rightDragController.wasDragging && kinectListener.IsGestureActive(userId, KinectGestures.Gestures.SwipeLeft);
         }
     case EdsacGestures.RIGHT_SWIPE:
         if (useNumpad) {
             return (useNumpad && Input.GetKey(KeyCode.Keypad6));
         } else {
             return !useGamepad && !leftDragController.wasDragging && !rightDragController.wasDragging && kinectListener.IsGestureActive(userId, KinectGestures.Gestures.SwipeRight);
         }
     case EdsacGestures.UP_SWIPE:
         if (useNumpad) {
             return (useNumpad && Input.GetKey(KeyCode.Keypad8));
         } else {
             return !useGamepad && !leftDragController.wasDragging && !rightDragController.wasDragging && kinectListener.IsGestureActive(userId, KinectGestures.Gestures.SwipeUp);
         }
     case EdsacGestures.DOWN_SWIPE:
         if (useNumpad) {
             return (useNumpad && Input.GetKey(KeyCode.Keypad2));
         } else {
             return !useGamepad && !leftDragController.wasDragging && !rightDragController.wasDragging && kinectListener.IsGestureActive(userId, KinectGestures.Gestures.SwipeDown);
         }
     case EdsacGestures.LEFT_DRAG:
         return leftDragController.GetDraggingLeft() || rightDragController.GetDraggingLeft();
     case EdsacGestures.RIGHT_DRAG:
         return leftDragController.GetDraggingRight() || rightDragController.GetDraggingRight();
     case EdsacGestures.UP_DRAG:
         return leftDragController.GetDraggingUp() || rightDragController.GetDraggingUp();
     case EdsacGestures.DOWN_DRAG:
         return leftDragController.GetDraggingDown() || rightDragController.GetDraggingDown();
     case EdsacGestures.STRETCH:
         if (useNumpad) {
             return (useNumpad && Input.GetKey(KeyCode.KeypadPlus));
         } else if (useGamepad) {
             return Input.GetAxis("Zoom" + gamepad) < 0f;
         } else {
             return kinectListener.IsGestureActive(userId, KinectGestures.Gestures.ZoomIn);
         }
     case EdsacGestures.SQUASH:
         if (useNumpad) {
             return (useNumpad && Input.GetKey(KeyCode.KeypadMinus));
         } else if (useGamepad) {
             return Input.GetAxis("Zoom" + gamepad) > 0f;
         } else {
             return kinectListener.IsGestureActive(userId, KinectGestures.Gestures.ZoomOut);
         }
     case EdsacGestures.SELECT:
         if (useGamepad) {
             return Input.GetButton("Select" + gamepad);
         } else {
             return leftDragController.GetDraggingRight() || rightDragController.GetDraggingRight();
         }
     default:
         return false;
     }
 }