Leap Motion Java API Reference  0.8.0
com.leapmotion.leap.KeyTapGesture Class Reference

The KeyTapGesture class represents a tapping gesture by a finger or tool. More...

Inherits com.leapmotion.leap.Gesture.

Public Member Functions

Vector direction ()
 The direction of finger tip motion.
 
 KeyTapGesture ()
 Constructs a new KeyTapGesture object.
 
 KeyTapGesture (Gesture rhs)
 Constructs a KeyTapGesture object from an instance of the Gesture class.
 
Pointable pointable ()
 The finger performing the key tap gesture.
 
Vector position ()
 The position where the key tap is registered.
 
float progress ()
 The progess value is always 1.0 for a key tap gesture.
 
- Public Member Functions inherited from com.leapmotion.leap.Gesture
long duration ()
 The elapsed duration of the recognized movement up to the frame containing this Gesture object, in microseconds.
 
float durationSeconds ()
 The elapsed duration in seconds.
 
boolean equals (Gesture rhs)
 Compare Gesture object equality.
 
Frame frame ()
 The Frame containing this Gesture instance.
 
 Gesture ()
 Constructs a new Gesture object.
 
 Gesture (Gesture rhs)
 Constructs a new copy of an Gesture object.
 
HandList hands ()
 The list of hands associated with this Gesture, if any.
 
int id ()
 The gesture ID.
 
boolean isValid ()
 Reports whether this Gesture instance represents a valid Gesture.
 
PointableList pointables ()
 The list of fingers and tools associated with this Gesture, if any.
 
Gesture.State state ()
 The gesture state.
 
String toString ()
 A string containing a brief, human-readable description of this Gesture.
 
Gesture.Type type ()
 The gesture type.
 

Static Public Member Functions

static Gesture.Type classType ()
 The key tap gesture type.
 
- Static Public Member Functions inherited from com.leapmotion.leap.Gesture
static Gesture invalid ()
 Returns an invalid Gesture object.
 

Detailed Description

The KeyTapGesture class represents a tapping gesture by a finger or tool.

A key tap gesture is recognized when the tip of a finger rotates down toward the palm and then springs back to approximately the original postion, as if tapping. The tapping finger must pause briefly before beginning the tap.

Leap_Gesture_Tap.png

Important: To use key tap gestures in your application, you must enable recognition of the key tap gesture. You can enable recognition with:

controller.enableGesture(Gesture.Type.TYPE_KEY_TAP);

Key tap gestures are discrete. The KeyTapGesture object representing a tap always has the state, STATE_STOP. Only one KeyTapGesture object is created for each key tap gesture recognized.

You can set the minimum finger movement and velocity required for a movement to be recognized as a key tap as well as adjust the detection window for evaluating the movement using the config attribute of a connected Controller object. Use the following configuration keys to configure key tap recognition:

Key string Value type Default value Units
Gesture.KeyTap.MinDownVelocity float 50 mm/s
Gesture.KeyTap.HistorySeconds float 0.1 s
Gesture.KeyTap.MinDistance float 5.0 mm

The following example demonstrates how to set the key tap configuration parameters:

if(controller.config().setFloat("Gesture.KeyTap.MinDownVelocity", 40.0f) &&
controller.config().setFloat("Gesture.KeyTap.HistorySeconds", .2f) &&
controller.config().setFloat("Gesture.KeyTap.MinDistance", 1.0f))
controller.config().save();

Constructor & Destructor Documentation

com.leapmotion.leap.KeyTapGesture.KeyTapGesture ( )

Constructs a new KeyTapGesture object.

An uninitialized KeyTapGesture object is considered invalid. Get valid instances of the KeyTapGesture class from a Frame object.

com.leapmotion.leap.KeyTapGesture.KeyTapGesture ( Gesture  rhs)

Constructs a KeyTapGesture object from an instance of the Gesture class.

Parameters
rhsThe Gesture instance to specialize. This Gesture instance must be a KeyTapGesture object.

Member Function Documentation

static Gesture.Type com.leapmotion.leap.KeyTapGesture.classType ( )
static

The key tap gesture type.

Returns
Type The type value designating a key tap gesture.
Vector com.leapmotion.leap.KeyTapGesture.direction ( )

The direction of finger tip motion.

Returns
Vector A unit direction vector if the finger tip is moving; otherwise, a zero-vector.
Pointable com.leapmotion.leap.KeyTapGesture.pointable ( )

The finger performing the key tap gesture.

Returns
Pointable A Pointable object representing the tapping finger.
Vector com.leapmotion.leap.KeyTapGesture.position ( )

The position where the key tap is registered.

Returns
Vector A Vector containing the coordinates of tap location.
float com.leapmotion.leap.KeyTapGesture.progress ( )

The progess value is always 1.0 for a key tap gesture.

Returns
float The value 1.0.