Rss

  • youtube

Use your hand instead a mouse (with Kinect for Windows)

Within an university programming project we tried out several methods to control the mouse cursor with Kinect for Windows. One of the results is a small application, which lets you control the Windows mouse cursor with your hands. Generally the cursor moves like the Kinect cursor on Xbox, but in our opinion there are several disadvantages on the Xbox Kinect mouse control:

  1. On Xbox you need to hold the cursor for about a second over a tile if you want to click on it. This is an unnecessary delay. So we were looking for a clicking method, which is as fast as a click on a PC mouse.
  2. With the Xbox Kinect control you only have the opportunity to make a standard click. There is neither a possibility for a right click nor a possibility for a double click and also no possibilty for Drag & Drop. But you need all of these special mouse actions, when you are working with your PC.

How does our application work?

Cursor Moving

Just move your hand for controlling the cursor. The recognition of your hand is a bit insensitive when you are too close to the sensor. If the cursor is too much jumping, just go one or two steps back. When you start the application it takes a moment for the sensor to recognize your hand. Make sure that Kinect can see your face as well as your chest and both of your hands. Sometimes the inital recognition is better when you are waving.

Left Click

As Kinect recognizes the distance from your hand to the sensor, clicking is possible by moving your hand just a bit forward and then directly backwards (see picture below). Just make a little motion, the sensor should recognize that and executes the click on the position where the mouse cursor was, when you started the motion.

Click

Double Click

Double clicking works the same way like normal clicking. The difference to a normal click is that you have to move your hand just a bit more forward and backward.

Right Click

For a right click the motion is quite similar to the motion for the left click. Use your left hand and move it just a bit backward and then directly forward (instead forward and backward as at the left click).
It’s important that you are working with your left hand when using right click, as there is an incompatibility with the distinction between right click and Drag & Drop.

Drag & Drop

Just move your right hand a bit back. This motion will execute a Mouse Down Event. Then you can move the cursor. When you move your hand back forward, the Mouse Up Event is executed. Drag & Drop ends at this point.

Drag and Drop

Comments (17)

  1. Sudip

    Hi. I am getting an exception:

    Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass
    embly ‘Microsoft.Kinect, Version=1.6.0.0, Culture=neutral, PublicKeyToken=31bf38
    56ad364e35′ or one of its dependencies. The system cannot find the file specifie
    d.
    at MouseControl.KinectInterface..ctor()
    at MouseControl.KinectInterface.Instance()
    at MouseControl.Program.Main(String[] args)

    I have a Win 8 and I installed the MS Kinect SDK. I have a Kinect for Windows.

  2. Juan

    Amazing app, works smooth as it should…

    Is there any way to get the same but without the mouse click, etc? Just the cursor roaming around?

    I´m trying this on flash buttos with rollover, works great but don´t need the clicks… (I know, I´m doing this against all logic of app evolution lol)

    Congratulations on this app!

  3. Jonathan

    Hey man, I have a problem with it, I cannot run the app on windows 7 64 bits, it just appear a black window, or what is the problem?

  4. Jairo Lopez

    Hello
    I’m trying to run the app but when I open “KinectMouse.exe”, open the cmd console and do not nothing.

    I have Windows 7 64 bits, the last version of Kinect SDK (v 1.7) and Xbox Kinect sensor.

    Thanks.

    • Hi,
      That the console is opening is normal. Just try to wave a little bit, after the console has opened until the mouse cursor is moving.

      Hope that helps.

  5. Hiii,
    I am also working on thhis project so can u send me the source code of this project

  6. Lee

    Hi,
    I will be thankful to you if you can send me the source code.

  7. Erisse

    I’m also working on a project. Will you please send to my email the source code? Thanks :)

  8. Bian

    it can not work. Other Apps can work.
    ExpressionMouse Kinect-1.0.2
    win7 32bit,xbox 360,SDK 1.8.
    error:
    Error during Kinect Initialization. Ensure that Kinect sensor is connected correctly.
    Error Message:
    System.InvalidOperationExcepthion:The feature is not supported by this version of the hardware
    at Microsoft.Kinect.KinectExceptionHelper.CheckHr(Int32 hr)
    at
    Microsoft.Kinect.ImageStream.set_ImageStreamFlags(ImageStreamFlags value)
    at Microsoft.Kinect.DepthImageStream.set_Range(DepthRange value)
    at FaceMouseConfig.FaceMouseConfig.Init()

  9. Pranit

    Hello this is very innovative as am working on college project regarding Kinect gesture controller will you please mail me source code It’ll very helpful to me. hope you understand priority :)

  10. yiyisan

    I will be grateful to you if you can send me the source code.I am a student of a chinese univercity.My project need some insperation from your code. Thank you again.

  11. Qorqe

    works like a charm! I am working on a similar project, could you kindly share the source code so that I can work further on the project? Thanks in advance!

  12. John G.

    mousecontrol.kinectinterface.startkinect()
    mousecontrol.program.main(string[]args)
    error how to fix this appreciate the help

Leave a Reply

Your email address will not be published. Required fields are marked *


5 × = ten