Click to Rate and Give Feedback
MSDN
MSDN Library
Tablet PC
Using Gestures
 Application Gestures and Semantic B...

  Switch on low bandwidth view
Application Gestures and Semantic Behavior

The application gestures are delivered as part of the Windows Vista SDK. The Microsoft gesture recognizer is built to recognize these gestures. By default, no gestures are enabled. Applications must choose the gestures to enable. In addition to recognizing gestures, the Microsoft gesture recognizer also provides alternates along with confidence values as part of the recognition results. To use these gestures in your application, you must subscribe to them from within the application by using the Tablet PC API Reference. The APIs enable you to choose a subset of these gestures and query for specific properties such as number of strokes, hot point, and other properties, as well as alternates and their confidence values.

For pen-aware applications that use these gestures, mouse messages are not sent. Instead, gesture events are sent to these applications informing them of these gestures. The applications then take actions that are similar to mouse-based actions in response to these gestures.

The following table lists application gestures supported by the Microsoft gesture recognizer. To ensure consistency of gestures used for common actions between applications, you should adhere to the following suggestions:

  • The Action is the suggested semantic behavior associated with the gesture.
  • For the gestures labeled as Fixed in the following table, Microsoft recommends that you not change the suggested semantic behavior. If an application does not have a need for the specified semantic behavior, Microsoft recommends that you not reuse the gesture for another action or semantic behavior.
  • For the gestures labeled as Application-specific and that have a suggested semantic behavior, Microsoft recommends you support the suggested semantic behavior if that functionality exists in your application. To maintain consistency across applications, do not choose a different semantic behavior for such a gesture if the functionality corresponding to the suggested semantic exists in your application. However, if your application does not have functionality that corresponds to the suggested semantic, you should feel free to associate relevant semantic behaviors to the gesture. This also applies to all gestures that are Application-specific and do not have a suggested semantic.
  • The hot point of a gesture is a distinguishing point in the geometry of the gesture. The hot point can be used to determine where the gesture was preformed. The gestures APIs, specifically the HotPoint property of the Gesture object, make it possible to determine the hot point for a given gesture. However, not all gestures have a specific distinguishing hot point. For those that do not have a specific distinguishing hot point, the starting point is reported as the hot point.

    Note  Some of the gestures do have a distinguishing hot point that just happens to be the starting point. These are distinguished in the table.

GestureGesture nameSuggested behaviorFixed or application-specificHot pointNotes

 

ms704830.ff84fee3-4435-4ede-be92-fbc3f5753c9d(en-us,VS.85).gif

 

Scratch-out

Erase content

Fixed

Starting point

Make the strokes as horizontal as possible, and draw at least three strokes. If the height of the gesture increases, the number of back and forth strokes also needs to increase.

 

ms704830.2f5faac6-b9dc-4bd3-884c-fa64754b9166(en-us,VS.85).gif

 

Triangle

Insert

Application-specific

Starting point

Draw the triangle in a single stroke, without lifting the pen. Make sure that the top of the triangle points upward.

 

ms704830.16dc0795-24e0-42a1-a7c8-de0b5c4c8910(en-us,VS.85).gif

 

Square

Action item

Application-specific

Starting point

Draw the square starting at the upper left corner. Draw the square with a single stroke, without lifting the pen.

 

ms704830.5f43c7d4-2c91-48bd-9627-84443f64cd03(en-us,VS.85).gif

 

Star

Action item

Application-specific

Starting point

Draw the star with exactly five points. Do this in a single stroke without lifting the pen.

 

ms704830.228da5f7-9789-4a96-b102-ad4ddec960c3(en-us,VS.85).gif

 

Check

Check-off

Application-specific

Corner

The upward stroke of the check must be two to four times as long as the smaller downward stroke.

 

ms704830.58ec6365-5505-45f5-b507-5a657f9b6fbc(en-us,VS.85).gif

 

Curlicue

Cut

Fixed

Starting point is distinguishing hot point

Draw the curlicue at an angle, from lower left to upper right. Start the curlicue on the word that you intend to cut.

 

ms704830.037bc82d-2972-49ce-8520-707a23b6c0ba(en-us,VS.85).gif

 

Double-Curlicue

Copy

Fixed

Starting point is distinguishing hot point

Draw the double-curlicue at an angle, from the lower left to the upper right. Start the double-curlicue on the word that you intend to copy.

 

ms704830.6d276a96-63a1-4c68-89d6-3ff9bf081cf9(en-us,VS.85).gif

 

Circle

Application-specific

Application-specific

Starting point

Draw the circle in a single stroke, without lifting the pen. Start drawing the circle from the topmost point.

 

ms704830.bfa9cbae-95b3-442c-b8a3-d84b5e91e5de(en-us,VS.85).gif

 

Double-circle

Paste

Fixed

Starting point

Draw the two circles overlapping each other. Do this with a single stroke, without lifting the pen.

 

ms704830.646a7982-da0a-4279-ab69-586792a04aec(en-us,VS.85).gif

 

Left-semicircle

Undo

Fixed

Starting point is distinguishing hot point

Make sure to draw the semicircle from the right to the left. The two ends of the arc should be on the same horizontal line.

 

ms704830.4c26174c-50c8-403d-b2c0-2bf3f699e215(en-us,VS.85).gif

 

Right-semicircle

Redo

Fixed

Starting point is distinguishing hot point

Make sure to draw the semicircle from the left to the right. The two ends of the arc should be on the same horizontal line.

 

ms704830.f024acbc-b90a-4641-9024-a99346ee09cc(en-us,VS.85).gif

 

Caret

Paste, insert

Application-specific

Apex

Draw both sides of the caret with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.

 

ms704830.61984b72-ffb0-4d09-8cec-1091c70000ce(en-us,VS.85).gif

 

Inverted-caret

Insert

Application-specific

Apex

Draw both sides of the caret with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.

 

ms704830.33607caf-7b46-40d3-8cd4-412f3d3acb8a(en-us,VS.85).gif

 

Chevron-left

Application-specific

Application-specific

Apex

Draw both sides of the chevron with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.

 

ms704830.5fc10d84-d394-4678-965e-944ed60a937d(en-us,VS.85).gif

 

Chevron-right

Application-specific

Application-specific

Apex

Draw both sides of the chevron with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.

 

ms704830.2cccf685-ef90-4ef0-91cf-a346a3281334(en-us,VS.85).gif

 

Arrow-up

Application-specific

Application-specific

Arrow head

Do not draw the arrow in more than two strokes. Draw the arrow either in a single stroke or in two strokes, where one stroke is the line and the other is the arrow head. Single stroke arrows written with the head as a triangle are not supported.

 

ms704830.27ec0c7c-9cfa-4fc5-92d8-66ab47dd27a5(en-us,VS.85).gif

 

Arrow-down

Application-specific

Application-specific

Arrow head

Do not draw the arrow in more than two strokes. Draw the arrow either in a single stroke or in two strokes, where one stroke is the line and the other is the arrow head. Single stroke arrows written with the head as a triangle are not supported.

 

ms704830.79b8620d-f797-4be1-a3b7-5cb089e1237b(en-us,VS.85).gif

 

Arrow-left

Application-specific

Application-specific

Arrow head

Do not draw the arrow in more than two strokes. Draw the arrow either in a single stroke or in two strokes, where one stroke is the line and the other is the arrow head. Single stroke arrows written with the head as a triangle are not supported.

 

ms704830.dee2b837-8d39-4633-80c2-bfcf6bbf6cff(en-us,VS.85).gif

 

Arrow-right

Application-specific

Application-specific

Arrow head

Do not draw the arrow in more than two strokes. Draw the arrow either in a single stroke or in two strokes, where one stroke is the line and the other is the arrow head. Single stroke arrows written with the head as a triangle are not supported.

 

ms704830.d2423d1d-049b-494b-885b-5951f27c69f5(en-us,VS.85).jpg

 

Up

Application-specific

Application-specific

Starting point

This gesture is a single, fast flick upward.

This gesture is used by Flicks Gestures.

 

ms704830.7fa5b0c3-1d78-4c93-af3f-b59fbba570b3(en-us,VS.85).jpg

 

Down

Application-specific

Application-specific

Starting point

This gesture is a single, fast flick downward.

This gesture is used by Flicks Gestures.

 

ms704830.ce60cc20-1769-428d-80de-7f47c86021fb(en-us,VS.85).jpg

 

Left

Backspace

Fixed

Starting point

This gesture is a single, fast flick to the left.

This gesture is used by Flicks Gestures.

 

ms704830.864cf4e1-2619-49cf-ac96-72994232e465(en-us,VS.85).jpg

 

Right

Space

Fixed

Starting point

This gesture is a single, fast flick to the right.

This gesture is used by Flicks Gestures.

 

ms704830.32eae57d-d426-41c9-9a00-9adc3210a15e(en-us,VS.85).gif

 

Up-left

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the up stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.02c34d24-c2d7-404f-b99a-742ba6de7f0c(en-us,VS.85).gif

 

Up-right

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the up stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.d8b00c0a-f450-4f71-980f-3bca1b558e4c(en-us,VS.85).gif

 

Down-left

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the down stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.d7724327-924a-46a8-b19c-3dd6a2a43d99(en-us,VS.85).gif

 

Down-right

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the down stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.b1fbaf82-e50d-4e74-9cc3-b703ad1f7ddd(en-us,VS.85).gif

 

Left-up

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the left stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.052fe211-24ba-4556-b8c3-3f855f1dc665(en-us,VS.85).gif

 

Left-down

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the left stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.2f837c20-4e0e-4b52-8708-55f4bd97581b(en-us,VS.85).gif

 

Right-up

Input Method Editor (IME) convert

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the right stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.e79a11cf-09a3-470c-a644-069cfa6d421c(en-us,VS.85).gif

 

Right-down

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the right stroke. Make sure that the two sides are equal in length and at a right angle.

 

ms704830.882f074c-a462-4399-934a-1f49508073d8(en-us,VS.85).gif

 

Up-down

Undo

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the up stroke. Draw the two strokes as close as possible.

 

ms704830.96c4af99-41b9-4185-9b9a-cc73645e34e7(en-us,VS.85).gif

 

Down-up

Application-specific

Application-specific

Point of direction change

Draw this gesture in a single stroke starting with the down stroke. Draw the two strokes as close as possible.

 

ms704830.d6aa0286-c87b-4e6d-8e74-b169fc6c9a51(en-us,VS.85).gif

 

Left-right

Move cursor left

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the left stroke. Draw the two strokes as close as possible.

 

ms704830.a1a1cb1b-add8-4fa7-b9f4-756175400b4f(en-us,VS.85).gif

 

Right-Left

Move cursor right

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the right stroke. Draw the two strokes as close as possible.

 

ms704830.b8988133-9883-4c37-a90d-26fc30011161(en-us,VS.85).gif

 

Up-left-long

Decrease indent

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the up stroke. The left stroke is two to four times as long as the up stroke and the two strokes are at a right angle.

 

ms704830.5e3522d3-2920-4a86-86ae-f29b01d93993(en-us,VS.85).gif

 

Up-right-long

Tab

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the up stroke. The right stroke is two to four times as long as the up stroke and the two strokes are at a right angle.

 

ms704830.b8cb23b5-b947-477d-922f-2ffb42756804(en-us,VS.85).gif

 

Down-left-long

Enter

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the down stroke. The left stroke is two to four times as long as the down stroke and the two strokes are at a right angle.

 

ms704830.786c66e2-b4ab-43a2-91e8-f1356c9d17ee(en-us,VS.85).gif

 

Down-right-long

Space

Fixed

Point of direction change

Draw this gesture in a single stroke starting with the down stroke. The right stroke is two to four times as long as the down stroke and the two strokes are at a right angle.

 

ms704830.a662232c-6a1d-4fe9-a25a-c20a03f786bd(en-us,VS.85).gif

 

Exclamation

Application-specific

Application-specific

Center of the line

Draw the dot soon after drawing the line and place it close to the line.

 

ms704830.b98cd10f-fc12-4ce2-9e9c-984e5fb2adb4(en-us,VS.85).jpg

 

Tap

Click

Fixed

Starting point is distinguishing hot point

Tap swiftly.

 

ms704830.b98cd10f-fc12-4ce2-9e9c-984e5fb2adb4(en-us,VS.85).jpg

 

Double-tap

Left-Double-click

Fixed

Starting point is distinguishing hot point

Tap swiftly and with the taps as close to each other as possible.

 

Note  Tap and double-tap are supported as application gestures in addition to being system gestures. This is to address scenarios where you may want to enable an application gesture that has a tap or double-tap as part of it. An example of such a gesture is the Exclamation gesture. In such a case, enable the tap application gesture and do not listen to the tap system gesture. This allows you to listen to a single component that can both identify and distinguish a tap from a tap within a gesture. The case of a tap within a gesture results in just the overall gesture being recognized.

See Also

Gesture Event [InkCollector Class]
Gesture Event [InkEdit Control]
Gesture Event [InkOverlay Class]
Gesture Event [InkPicture Control]

Send comments about this topic to Microsoft

Build date: 4/29/2009

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker