Printer Friendly Version      Send     
Click to Rate and Give Feedback
MSDN
MSDN Library
Windows Versions
SDK Documentation
Microsoft Tablet PC
Tablet PC Platform
Using Gestures
 Application Gestures and Semantic B...
Microsoft Tablet PC - Application Gestures and Semantic Behavior
Application Gestures and Semantic Behavior

Application Gestures and Semantic Behavior

The application gestures are delivered as part of the Microsoft® Windows® XP Tablet PC Edition Software Development Kit (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 Platform application programming interfaces (APIs). The APIs allow 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-specificand 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 nameActionFixed or application-specificHot pointNotes
tpcsdkua_tpc_uxdg_ffpi_scratch.jpgScratch-outErase contentFixedStarting pointMake 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.
tpcsdkua_tpc_uxdg_ffpi_triangle1.jpgTriangleInsertApplication-specificStarting pointDraw the triangle in a single stroke, without lifting the pen. Make sure that the top of the triangle points upward.
tpcsdkua_tpc_uxdg_ffpi_square.jpgSquareAction itemApplication-specificStarting pointDraw the square starting at the upper left corner. Draw the square with a single stroke, without lifting the pen.
tpcsdkua_tpc_uxdg_ffpi_star.jpgStarAction itemApplication-specificStarting pointDraw the star with exactly five points. Do this in a single stroke without lifting the pen.
tpcsdkua_tpc_uxdg_ffpi_check.jpgCheckCheck-offApplication-specificCornerThe upward stroke of the check must be two to four times as long as the smaller downward stroke.
tpcsdkua_tpc_uxdg_ffpi_cirlicue.jpgCurlicueCutFixedStarting point is distinguishing hot pointDraw the curlicue at an angle, from lower left to upper right. Start the curlicue on the word that you intend to cut.
tpcsdkua_tpc_uxdg_ffpi_double_cirlicue.jpgDouble-CurlicueCopyFixedStarting point is distinguishing hot pointDraw 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.
tpcsdkua_tpc_uxdg_ffpi_circle1.jpgCircleApplication-specificApplication-specificStarting pointDraw the circle in a single stroke, without lifting the pen. Start drawing the circle from the topmost point.
tpcsdkua_tpc_uxdg_ffpi_double_circle.jpgDouble-circlePasteFixedStarting pointDraw the two circles overlapping each other. Do this with a single stroke, without lifting the pen.
tpcsdkua_tpc_uxdg_gest_semi_circle_left.jpgLeft-semicircleUndoFixedStarting point is distinguishing hot pointMake sure to draw the semicircle from the right to the left. The two ends of the arc should be on the same horizontal line.
tpcsdkua_tpc_uxdg_gest_semi_circle_right.jpgRight-semicircleRedoFixedStarting point is distinguishing hot pointMake sure to draw the semicircle from the left to the right. The two ends of the arc should be on the same horizontal line.
tpcsdkua_tpc_uxdg_ffpi_caret.jpgCaretPaste, insertApplication-specificApexDraw both sides of the caret with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.
tpcsdkua_tpc_uxdg_ffpi_inverted_caret.jpgInverted-caretInsertApplication-specificApexDraw both sides of the caret with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.
tpcsdkua_tpc_uxdg_ffpi_chevron_left.jpgChevron-leftApplication-specificApplication-specificApexDraw both sides of the chevron with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.
tpcsdkua_tpc_uxdg_ffpi_chevron_right.jpgChevron-rightApplication-specificApplication-specificApexDraw both sides of the chevron with equal length. Make sure the angle is sharp and that the point is not rounded to a curve.
tpcsdkua_tpc_uxdg_ffpi_arrow_up.jpgArrow-upApplication-specificApplication-specificArrow headDo 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.
tpcsdkua_tpc_uxdg_ffpi_arrow_down.jpgArrow-downApplication-specificApplication-specificArrow headDo 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.
tpcsdkua_tpc_uxdg_ffpi_arrow_left.jpgArrow-leftApplication-specificApplication-specificArrow headDo 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.
tpcsdkua_tpc_uxdg_ffpi_arrow_right.jpgArrow-rightApplication-specificApplication-specificArrow headDo 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.
tpcsdkua_tpc_uxdg_ffpi_up.jpgUpApplication-specificApplication-specificStarting pointThis gesture is a single, fast flick upward.
tpcsdkua_tpc_uxdg_ffpi_down.jpgDownApplication-specificApplication-specificStarting pointThis gesture is a single, fast flick downward.
tpcsdkua_tpc_uxdg_ffpi_left.jpgLeftBackspaceFixedStarting pointThis gesture is a single, fast flick to the left.
tpcsdkua_tpc_uxdg_ffpi_right.jpgRightSpaceFixedStarting pointThis gesture is a single, fast flick to the right.
tpcsdkua_tpc_uxdg_ffpi_up_left.jpgUp-leftApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_up_right.jpgUp-rightApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_down_left.jpgDown-leftApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_down_right.jpgDown-rightApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_left_up.jpgLeft-upApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_left_down.jpgLeft-downApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_right_up.jpgRight-upInput Method Editor (IME) convertFixedPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_right_down.jpgRight-downApplication-specificApplication-specificPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_up_down.jpgUp-downUndoFixedPoint of direction changeDraw this gesture in a single stroke starting with the up stroke. Draw the two strokes as close as possible.
tpcsdkua_tpc_uxdg_ffpi_down_up.jpgDown-upApplication-specificApplication-specificPoint of direction changeDraw this gesture in a single stroke starting with the down stroke. Draw the two strokes as close as possible.
tpcsdkua_tpc_uxdg_ffpi_left_right.jpgLeft-rightMove cursor leftFixedPoint of direction changeDraw this gesture in a single stroke starting with the left stroke. Draw the two strokes as close as possible.
tpcsdkua_tpc_uxdg_ffpi_right_left.jpgRight-LeftMove cursor rightFixedPoint of direction changeDraw this gesture in a single stroke starting with the right stroke. Draw the two strokes as close as possible.
tpcsdkua_tpc_uxdg_ffpi_up_left_long.jpgUp-left-longDecrease indentFixedPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_up_right_long.jpgUp-right-longTabFixedPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_down_left_long.jpgDown-left-longEnterFixedPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_down_right_long.jpgDown-right-longSpaceFixedPoint of direction changeDraw 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.
tpcsdkua_tpc_uxdg_ffpi_exclamation.jpgExclamationApplication-specificApplication-specificCenter of the lineDraw the dot soon after drawing the line and place it close to the line.
tpcsdkua_tpc_uxdg_ffpi_tap.jpgTapClickFixedStarting point is distinguishing hot pointPerforming the tap in a swift motion results in the least amount of slipping.
tpcsdkua_tpc_uxdg_ffpi_tap.jpgDouble-tapLeft-Double-clickFixedStarting point is distinguishing hot pointPerforming the two taps in a swift motion results in the least amount of slipping and the least duration between taps. Also, the taps are 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.

Related Topics

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker