Search code examples
c#visual-studio-2015gesturesleap-motion

Swipe Gesture Recognizer not working


I am new to c#. I need to make my leap motion to swipe in different direction and each direction (Up, Down, Right and Left) should select some option(picture to navigate to next slide) on my hyperlinked power point presentation.

I am writing a simple c# code to just detect these gestures but it doesn't seem to print anything or do anthing accept being connected.

Please suggest what is going wrong in my code which does not have errors. Or suggest me an alternative way to implement this

using System;
using Leap;
using MotionGestures;
using MotionGestures.Enums;

namespace motrial
{

    class LeapListener : Listener
    {

        public override void OnInit(Controller cntrlr)
        {
            Console.WriteLine("Initialized");
        }

        public override void OnConnect(Controller cntrlr)
        {
            Console.WriteLine("Connected");
        }

        public override void OnDisconnect(Controller cntrlr)
        {
            Console.WriteLine("Disconnected");
        }

        public override void OnExit(Controller cntrlr)
        {
            Console.WriteLine("Exited");
        }

        public void motionDidSwipe(MotionSwipeGestureRecognizer recognizer)
        {
            if (recognizer.state == MotionGestureRecognizerState.MotionGestureRecognizerStateBegan)
            {
                Console.WriteLine("Swipe did Begin");
            }
            else if (recognizer.state == MotionGestureRecognizerState.MotionGestureRecognizerStateChanged)
            {
                //System.Console.WriteLine("Swipe did Change");
            }
            else if (recognizer.state == MotionGestureRecognizerState.MotionGestureRecognizerStateEnded)
            {
                //Handle swipe end
                if (recognizer.direction == MotionSwipeGestureRecognizerDirection.MotionSwipeGestureRecognizerDirectionLeft)
                {
                    Console.WriteLine("Swipe Left");
                }
                else if (recognizer.direction == MotionSwipeGestureRecognizerDirection.MotionSwipeGestureRecognizerDirectionRight)
                {
                    Console.WriteLine("Swipe Right");
                }
                else if (recognizer.direction == MotionSwipeGestureRecognizerDirection.MotionSwipeGestureRecognizerDirectionUp)
                {
                    Console.WriteLine("Swipe Up");
                }
                else if (recognizer.direction == MotionSwipeGestureRecognizerDirection.MotionSwipeGestureRecognizerDirectionDown)
                {
                    System.Console.WriteLine("Swipe Down");
                }
            }
        }
    }
}

Solution

  • Dude, stop using those gestures, LM remove them from Orion because they are very unreliable. You will need to build your own if you really wants this to work as expected.