A few months ago, I released handWavey. It’s a tool for controlling your mouse and keyboard without touching anything. You simply wave your hand around like in movies like Minority report. You can see it in action here:
I wrote handWavey because I wasn’t happy with any of the existing solutions on the market for my use-cases.
I optimised handWavey to be
The trade-off is that there’s a little bit of work needed in the beginning to make it useable and get the most out of it. So for that I made this video to help users jumpstart themselves:
Some time has passed since I put that out; I’ve had more opportunities to try it on new users, and there are a few learnings that I’d like to share with you now.
If the mouse cursor is stuttery, check whether there is anything limiting the amount of amount of bandwidth available to the leapMotion device. Here are some real-world examples that I’ve struck so far:
handWavey is highly customisable to your needs. When I made that video, there were only a few config examples. But I’ve steadily been adding more. Here are a few highlights:
Mentioned in the main video is the foot gestureLayout. This is a highly experimental configuration that I absolutely do not recommend using day-to-day. However if it would make a meaningful difference to your life, there is a place to get in contact to discuss how to proceed.
Above: The foot gestureLayout in action.
The reducedMobility gestureLayouts are for people with reduced mobility in their hands. The current examples at the time of this writing assume reduced fine control of the hands, but not the arms. This is addressed by splitting the pointing vs actions to two separate hands. Specifically:
The shakeyHands example configurations work by increasing the moving means over the the inputs. This has the effect of reducing, or possibly even eliminating shakiness all-together.
There are a variety of strengths. I suggest starting with the smaller numbers, and stepping them up until you get a useable experience. The tradeoff is how responsive the cursor is to your hand movements. Putting the numbers too low will allow your shakes to pass through to the cursor. Having the number too high will make it very slow and frustrating to move the cursor. It surprised me how high I could set the numbers and still have a useable result.
You may want to comebine this with the reducedMobility examples to have more precise control of actions.
If your mouse cursor moves at a speed that is not natural for you, sensitivity is the place to look.
Unfortunately, I don’t have a good way to detect the DPI of your displays, and just do the right thing. So we have to tune it, and this gives you a head start for doing so.
I’ve added my first go at piano sounds for audio feedback. This simply makes the notifications nicer to hear, and more meaningful. I intend to do more with this.
rotation enables a couple of interesting things. Most notably, it allows the user to move their hand like a mouse (horizontally instead of vertically) to control the cursor. Several people have requested this when trying handWavey for the first time.
I encourage you to use extra caution with this layout:
It’s here so you can try it if you want to. But I really don’t think you should use or learn it.
There’s also a sideMount configuration for mounting the sensor at 90 degrees to your side rather than on the desk. This is highly experimental, and shouldn’t be considered ready for daily use, and definitely don’t use it while learning.
handWavey is written to be reliable, and highly customisable to your needs. I’ve only made examples for the things that I think will be most useful for people. But there’s so much more that it can do. If there’s something your want to achieve; it can probably do it already. And if it can’t; you can raise an issue as a feature request.