← All mechanic references

Mechanics catalog

1Pointing and controlOverview and example ↗The position and movement of the finger determines target selection or continuous pointer control; the application can only see the processed cursor.10

Variants and applications

  • Relative movement. Gesture: Move your finger, moving the pointer relative to the current position. In the interface: Navigation, precise targeting of elements. In the game: Sight, adventure cursor, unit selection. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The application usually receives the already processed cursor movement, and not the millimeters of the finger path.
  • Absolute positioning. Gesture: Match the position on the panel to the position in the work area. In the interface: Remote for the canvas, jump to a specific point on the map. In the game: Direct placement of a racket or marker. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The standard laptop cursor works differently. You need surface coordinates or a special driver mode.
  • Speed ​​control from the center. Gesture: Deviation from a fixed center sets the direction and speed. In the interface: Continuous panoramic view or scrolling. In the game: Virtual movement stick, gas and steering wheel. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: This is a software display of coordinates; you need a center, a neutral zone and a clear way to stop...
  • Floating virtual stick. Gesture: The first touch sets the center, further displacement sets the deviation. In the interface: Relative camera remote control without searching for the center of the surface. In the game: Control the character from any starting point. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The position of the finger and the beginning of the contact must be accessible to the application.
  • Interception with finger rearrangement. Gesture: Raise your finger, move it and continue the relative movement. In the interface: Cross the large screen on a small panel. In the game: Continue turning the camera in several passes. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The OS does this for a regular cursor; the application does not necessarily see the tear itself.
  • Touch is like grip. Gesture: Transmit movement only while there is contact; tearing off disables the channel. In the interface: Temporary adjustment without changing the value when rearranging. In the game: Camera or tool is active only when touched. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Stopping the pointer does not prove that the finger is raised. We need a contact phase...
  • Coarse and fine adjustment. Gesture: Change the coefficient of movement by modifier or explicit mode. In the interface: Fine-tuning the slider, editing, CAD. In the game: Aiming with reduced sensitivity. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The physical speed of the finger cannot be reliably restored from the cursor speed. The regime must be predictable.
  • Limited to one axis. Gesture: After starting the movement, fix the horizontal or vertical. In the interface: Transfer strictly along the axis, alignment, number adjustment. In the game: Movement lane, lever, rail aiming. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: This is the application logic; An explicit indicator of the selected axis is useful.
  • Linking to goals. Gesture: Move the pointer to the grid, nodes or neighboring objects. In the interface: Docking blocks, diagrams, editing. In the game: Assembling a puzzle, selecting small interactive objects. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their removal may be unknown to him. Conditions: Snap is not a sensor gesture. Too much gravity interferes with free movement.
  • Select by cursor delay. Gesture: Leave the cursor on the target for a specified time. In the interface: Hint, preview, activation without clicking. In the game: Scanning an object, fixing the target with a gaze-like pointer. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: This is a screen hover. A finger hover sensor over the panel is not required or implied.
2Touches and clicksOverview and example ↗Short contacts and presses trigger discrete commands based on the number, location and context of touches.10

Variants and applications

  • Single tap. Gesture: Briefly touch the panel and remove your finger. In the interface: Select, confirm, place the cursor. In the game: Interact with an object, single action. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Tap-to-click must be enabled. The application often sees a normal click and does not know that it is a tap.
  • Pressing with click. Gesture: Press the surface or press a separate button. In the interface: Activation and start of dragging. In the game: Shoot, confirm the command. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: A mechanical or tactilely simulated click does not mean access to analog force.
  • Secondary click. Gesture: Tap with two fingers, click in the corner or with a separate right button. In the interface: Context menu, additional commands. In the game: Inspect an object, alternative action. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The specific physical gesture is selected by the OS settings; the application usually only needs a secondary click.
  • Double tap or click. Gesture: Two quick clicks in one area. In the interface: Open, select a word, zoom in context. In the game: Fast movement, group command. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Coordinate the time window with the OS settings and do not break a single click.
  • Triple and multiple clicks. Gesture: A series of clicks with counting the number. In the interface: Selecting a line or paragraph according to the editor's rules. In the game: Command by the number of clicks, a simple sequence. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The meaning of a triple click depends on the application. The more clicks, the higher the risk of error.
  • Double tap with two fingers. Gesture: Tap twice synchronously with two fingers. In the interface: Smart zoom: zoom in on content and return to view. In game: Switch between field view and local scene. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: Smart Zoom is available on macOS; There is no universal cross-platform event for this action.
  • Rhythmic pressing. Gesture: Take into account the tempo and intervals of a series of taps or clicks. In the interface: Tap tempo, rhythm input, training. In the game: Rhythm game, musical lock, signal repetition. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Check the real input delay; Don't count a custom double click as a separate gesture for no reason.
  • Tap with three fingers. Gesture: Short simultaneous touch with three fingers. In the interface: Second level command, search or review. In the game: Pause or additional ability in a special mode. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Often assigned to a system function. We need an accessible API and conflict checking.
  • Tap with four or more fingers. Gesture: Simultaneous touching with several fingers. In the interface: Global command or changing the working context. In the game: Rare command, available after training. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. This does not guarantee that a device has multitouch. Conditions: The number of contacts tracked and system assignments vary; do not make mandatory management.
  • Tap in the physical area. Gesture: Touch a certain area of ​​the panel itself. In the interface: Invisible quick command panel with on-screen prompts. In the game: Hit a sector, select an ability or note. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The position of the on-screen cursor does not indicate where the finger touched the physical pad.
3Hold and releaseOverview and example ↗The duration of the contact and the moment of its completion control the charge, timing or confirmation of the action.10

Variants and applications

  • Hold the button. Gesture: Do not release the click while the action is being performed. In the interface: Temporary tool, view, continuous action. In the game: Auto-fire, block, work with the tool. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: An exit is needed when focus is lost, canceled or released outside the element.
  • Hold a contact without clicking. Gesture: Keep your finger on the surface without pressing it. In the interface: Temporary mode or touch preview. In the game: Touch turns on the shield or holds the object. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on a device does not guarantee this. Conditions: A stationary cursor is not equal to a stationary contact; regular mouse events are not enough...
  • Long press. Gesture: Launch a command after a time threshold of a held click. In the interface: Contextual command, secure confirmation. In the game: Hacking, repair, interaction with the mechanism. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: A progress indicator and cancellation during movement are needed. To hold without clicking you need T.
  • Auto repeat when held. Gesture: After a delay, repeat the command at intervals. In the interface: Changing a value, paging, a set of identical elements. In the game: Serial construction, command queue. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The limits and acceleration of the repetition are set by the application.
  • Accumulation over time. Gesture: Hold duration increases the selected value. In the interface: Adjust the intensity in the absence of a force sensor. In the game: Shot charge, jump or throw force. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The duration and physical force of pressing are different channels.
  • Release action. Gesture: Confirm a command when releasing a held button. In the interface: Preview before final selection. In the game: Shoot a charged projectile, launch a throw. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Release of the button is available through P; lifting your finger without clicking requires T.
  • Hold without moving. Gesture: Stay within the permissible deviation. In the interface: Stable confirmation, selection with cutting off random movement. In the game: Maintain balance, sight stabilization. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Allowance for natural tremor is required; physical contact without button requires T.
  • Holding inside the target. Gesture: Maintain the click and position of the cursor in a given area. In the interface: Confirmation within a button or work area. In the game: Welding, grabbing, continuous target tracking. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: The boundary and exit behavior should be clearly shown.
  • Leaving the area to cancel. Gesture: Move the cursor away from the target before releasing. In the interface: Safely cancel a selection or confirmation. In game: Cancel a spell, throw or place an object. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Cancellation of an OS event and voluntary cancellation by the player must be processed separately.
  • Switchable hold. Gesture: One click turns on the mode, the next one turns it off. In the interface: An alternative to long pressing; tool fixation. In the game: Switchable sight, capture, automatic movement. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: The condition must be visible; This is a software fix, not a property of the sensor.
4Dragging and grabbingOverview and example ↗Grabbing connects the pointer movement to the object, and releasing completes the carry, throw, or setup.10

Variants and applications

  • Click and drag. Gesture: Hold the button and move your finger. In the interface: Move an object, select, control the slider. In the game: Move an object, aim by pulling. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The joint movement and pressing must remain comfortable on a specific clickpad.
  • Tap, second tap and hold. Gesture: Touch, then immediately touch again and move your finger. In the interface: Drag without pressing the panel. In the game: Carrying game objects with less load on the hand. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Works with appropriate driver or OS settings.
  • Three-finger dragging. Gesture: Swipe with three fingers instead of holding a click. In the interface: Moving windows, objects and selections. In the game: Moving pieces and controlling the lever. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: In macOS it is turned on separately; the game usually gets a drag result rather than three contacts.
  • Fixation of the grip. Gesture: Continue carrying after a short break; complete with a separate action. In the interface: Transfer over a long distance, accessible controls. In the game: Moving a heavy object across the entire field. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: May be provided by the OS or application logic; need an explicit reset command.
  • Drag-and-drop. Gesture: Grab an object, move it and release it on the receiver. In the interface: Files, cards, placement of blocks. In the game: Inventory, crafting, assembling a structure. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Show valid receivers and the result before releasing.
  • Frame selection. Gesture: Draw a rectangular area. In the interface: Group selection of objects, range on the canvas. In the game: Select a squad, construction area. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: The rules for including objects inside the frame must be consistent.
  • Lasso. Gesture: Circle an arbitrary area while holding the button. In the interface: Selection along a contour, mask, image editor. In the game: Capture territory, encircling a group of objects. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: For a free trace without a click, T is needed; through normal drag and drop P is enough.
  • Rearrangement in sequence. Gesture: Drag an element between neighbors. In the interface: Sorting a list, tabs, time blocks. In the game: Order of cards, moves, participants or abilities. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Preview of the insertion site reduces uncertainty.
  • Tension and release. Gesture: Pull from the reference point, then release. In the interface: Setting the vector and magnitude of the action. In the game: Slingshot, bow, billiard shot, spring. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The length of the screen vector sets the program parameter, and not the measured finger strength.
  • Throw with momentum. Gesture: Accelerate an object by dragging and releasing. In the interface: Fast movement with software inertia. In the game: Throwing, curling, puck, throwing a card. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Speed ​​must be assessed steadily and limited; System cursor acceleration affects the feel.
5Scrolling and timelinesOverview and example ↗Scrolling is converted into movement across space, a scale of values ​​or time with an explicitly specified sensitivity.10

Variants and applications

  • Vertical scrolling. Gesture: Move two fingers up or down. In the interface: Documents, lists, change a parameter. In the game: Selecting an item, sight height, camera zoom. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: The OS can issue wheel deltas. The direction depends on the natural scrolling setting.
  • Horizontal scrolling. Gesture: Move two fingers left or right. In the interface: Wide canvas, paths, table. In the game: Horizontal camera, change lane or position. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: The browser or OS can use this move to navigate back and forth.
  • Free panning. Gesture: Use both scrolling components at the same time. In the interface: Map, large diagram, 2D canvas. In game: Review of the strategy or tactical map field. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: Not every stack transmits equally accurate continuous deltas.
  • Inertial scrolling. Gesture: After a push, continue moving with deceleration. In the interface: Long tapes, catalogs, panoramas. In the game: Scrolling the wheel of objects, inertial view. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: Inertia can be created by the OS or application; You can't use it twice.
  • Touch to stop momentum. Gesture: Place your fingers on the panel to stop movement. In the interface: Quickly stop kinetic scrolling. In game: Slow down the spinning wheel or view. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: An explicit hold/touch signal is required. libinput describes hold; The regular wheel API does not guarantee this.
  • Edge scrolling. Gesture: Move one finger along the edge of the surface. In the interface: Continuous navigation, one-finger scrolling. In the game: Inventory ribbon or vertical camera movement. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Driver mode or access to the panel area is required; This is not a universal app gesture.
  • Circular scrolling. Gesture: Rotate your finger in a circle, accumulating an angle. In the interface: Long list, virtual wheel, change the number. In the game: Setting up a safe, reel, flywheel. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Possible through a special surface display; alternative in the application: circular drag cursor.
  • Scroll by steps. Gesture: Convert accumulated deltas into discrete switches. In the interface: Select a line, frame, division or tool. In the game: Enumerate weapons, change the bet step. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: Do not consider each wheel event as a separate stage: their frequency depends on the device.
  • Scrubbing. Gesture: Scroll to continuously change position on the time axis. In the interface: Video, sound, animation, history of changes. In the game: View replay, control time rewind. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: The position value and playback speed are different displays of the same input.
  • Rough and fine scrubbing. Gesture: Change the scale of time adjustment using a modifier. In the interface: Search for a scene with a transition to frame-by-frame precision. In the game: Exact stop of a repeat or time puzzle. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. Set varies. Conditions: A second physical axis outside of normal scrolling may require T; the modifier key is simpler.
6Directions and trajectoriesOverview and example ↗The direction, shape and order of the trajectory sections become a recognizable command or condition of the game action.10

Variants and applications

  • Directional swipe. Gesture: Perform a recognizable move up, down, left or right. In the interface: Flip, close the card, move. In the game: Dodge, slash, quick order. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: The number of fingers and swipe availability are determined by the platform. Alternative: recognize drag via P.
  • Diagonal stroke. Gesture: Make a short drag in one of eight sectors. In the interface: Expanded menu of directional commands. In the game: Eight directions of impact or roll. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Without holding the button and with reference to physical movement, T. is needed.
  • A quick stroke. Gesture: Take into account the speed and direction of a short drag. In the interface: Quickly delete, send, shift an element. In the game: Swing, parry, sharp push. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The speed threshold must be distinguished from the length threshold and checked with different cursor sensitivity.
  • Gesture back and forth. Gesture: Change direction within one trajectory. In the interface: Cancel, return, confirm by sequence. In the game: Cocking the mechanism, jerking the shutter, working with a saw. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: The movement is recognized by the application; This is not a standard touchpad event.
  • Circle. Gesture: Draw a closed circle while holding the button. In the interface: Rotate the knob or select a cyclic parameter. In the game: Start the mechanism, mix, draw a spell circle. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Requires tolerance for incomplete closure and shape. Contact option without click requires T.
  • Arc. Gesture: Draw part of a circle. In the interface: Rotate, angle adjustment, fan selection. In the game: Sword swing, arc shield, valve control. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Distinguish the desired arc from a random curvature of movement.
  • Zigzag. Gesture: Perform a sequence of turns. In the interface: Form command, graphic code. In the game: Lightning, cut, pattern hacking. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Long gesture passwords are difficult to detect without a hint.
  • Trituration. Gesture: Move back and forth repeatedly in a small area. In the interface: Erasing, clearing a mask, developing a layer. In the game: Wipe off dirt, light a fire, sharpen an object. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Limit the required number of repetitions; movement alone does not measure the friction of a material.
  • Drawing a symbol. Gesture: Draw a letter, number or symbol. In the interface: Handwriting, annotation, symbol command. In the game: Runes, spells, signature, graphic lock. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: A recognizer and error checking are needed. The standard trackpad API does not recognize runes automatically.
  • Following the contour. Gesture: Continuously move the cursor along a given path. In the interface: Stroke, precision trainer, manual mask. In the game: Guiding through a labyrinth, surgery, connecting paths. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Tolerance, visibility of the cursor and the ability to rearrange the finger must be taken into account.
7Multiple Contact GeometryOverview and example ↗The relative positions of multiple contacts define scale, angle, and other geometric parameters; you need access to this data.10

Variants and applications

  • Bringing two fingers together. Gesture: Reduce the distance between contacts. In the interface: Zoom out, go to overview. In the game: Move the map away or shrink the game object. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: From a ready-made pinch the scale is often available, but not the coordinates of both points.
  • Spreading two fingers. Gesture: Increase the distance between contacts. In the interface: Zooming in, revealing details. In the game: Enlarging the map, stretching the spring, opening the shield. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set differs. Conditions: To physically simulate both grips, T. is required.
  • Two finger rotation. Gesture: Change the angle of the line between contacts. In the interface: Rotate an image, canvas or model. In the game: Valve, part orientation, rotate an artifact. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: Rotate support does not automatically follow from the presence of pinch.
  • Simultaneous translation, scale and rotation. Gesture: Move the center, change the distance and angle of the pair. In the interface: Free transformation of an object or canvas. In the game: Installing a part, manipulating a card or mechanism. Access level: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies. Conditions: The framework must allow joint recognition. Otherwise, you need T and your own handler.
  • One finger is like an anchor. Gesture: Leave the contact motionless, the second change the radius or angle. In the interface: Transformation relative to an explicit reference point. In the game: Lever, compass, winding the cable, sight around the support. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: A ready-made scale or rotation may not be enough: both coordinates are needed.
  • Two independent grips. Gesture: Each contact controls a separate end of an object. In the interface: Editing a segment, range or connection. In the game: Pull a rope, hold two handles, place a bridge. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. Having multitouch on a device does not guarantee this. Conditions: The application must preserve contact roles and handle the disappearance of one of them.
  • Stretch along the selected axis. Gesture: Use a separate change in horizontal or vertical distance. In the interface: Disproportional size, width and height. In the game: Shrink an obstacle, stretch a passage or platform. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: A regular scalar pinch does not report the full geometry of the pair.
  • Deformation along three supports. Gesture: Change shape or affine transformation with three tracked points. In the interface: Tilt, shift, deform the mesh. In the game: Bend a soft body, control three fasteners. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Three independent coordinates are needed. Two points are not enough for an unambiguous general shear transformation.
  • Spreading a group of fingers. Gesture: Increase the spread of three or more contacts. In the interface: Expand a group, expand a structure. In the game: Scatter a squad, reveal a device or field. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: May coincide with the global OS gesture; interception verification and number of contacts are required.
  • Bringing together a group of fingers. Gesture: Collect multiple contacts to a common center. In the interface: Collapse a group or move to a common structure. In the game: Collect objects, compress an area, concentrate energy. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on a device does not guarantee this. Conditions: Do not assume that each finger has an independent force measurement or a known anatomical role.
8Chords, roles and sequencesOverview and example ↗Combinations of contacts and their order distribute roles between fingers and allow you to compose commands from several phases.10

Variants and applications

  • Number of fingers as mode. Gesture: One, two or three touches enable different functions. In the interface: One contact draws, two move, three change the tool. In the game: Change the type of action without a separate button. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The OS may already use such a grammar and not give all touches to the application.
  • Spatial chord. Gesture: Touch a certain set of zones at the same time. In the interface: Command combinations, chord keyboard. In the game: Musical chords, rune combination, several valves. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The coordinates of several contacts are needed; The number of fingers in itself does not determine the chord.
  • Hold plus tap. Gesture: One contact holds the state, the other briefly touches. In the interface: Temporary modifier plus command. In the game: Shield and strike, aim and shoot. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Thumb filtering may remove the reference contact.
  • Hold plus movement. Gesture: The first contact fixes the mode, the second continuously moves. In the interface: Editing with a modifier, fine adjustment. In the game: Block and direction of protection, capture and rotation. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: For a regular cursor, instead of a support finger, you can use a key.
  • Two independent channels. Gesture: Move two contacts along two controlled values. In the interface: Two sliders, XY-control with separate roles. In the game: Two rackets, two hands, gas and brake. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: One system pointer does not turn into two. Check the panel area and hand comfort.
  • Alternating fingers. Gesture: Alternately touch with two tracked contacts. In the interface: Drum input, metronome, motor training. In game: Running, rowing, drumming. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Two regular clicks allow you to enter a rhythm, but do not prove the alternation of physical fingers.
  • Walking contacts. Gesture: Consistently rearrange fingers while maintaining at least one support. In the interface: Navigation on a surface with continuous contact. In the game: Climbing, walking of a creature, transfer of robot supports. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on a device does not guarantee this. Conditions: The role must be assigned by contact and context, and not by guessing which finger it is.
  • Staging order. Gesture: Count different sequences of appearance of contacts using different commands. In the interface: Gesture code, switching a tool. In the game: Lock, combination of actions, sequential activation of mechanisms. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on a device does not guarantee this. Conditions: The order of events does not always accurately reflect almost simultaneous touches.
  • Removal procedure. Gesture: Distinguish which of the assigned contacts is released first. In the interface: Different ways to confirm and complete. In the game: Release one grab, transfer a load, end a combination. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Stable identifiers within the sequence and separate cancellation processing are needed.
  • Adding or removing a finger while moving. Gesture: Switch mode while maintaining the current trajectory. In the interface: Precision mode, change tools without stopping. In the game: Switch from walking to running, change the type of impact in the swing. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The OS recognizer can end one gesture and begin another; The transition cannot be considered continuous by default.
9Zones and virtual controlsOverview and example ↗Surface areas receive virtual roles: stick, wheel, button or independent control axis.10

Variants and applications

  • Grid of virtual buttons. Gesture: Divide the physical panel into cells. In the interface: Hot commands, numeric keypad, remote control. In the game: Quick slots, drum pads, abilities. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: You need a screen layout and sufficiently large zones; There are no signatures on the panel.
  • Virtual cross. Gesture: Center and directions work as number buttons. In the interface: Menu navigation, step-by-step shift. In the game: Walking on cells, platforming controls. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The neutral zone and the diagonal rule are set; a special driver can provide ready-made buttons.
  • Two-dimensional analogue remote control. Gesture: X and Y coordinates independently set two parameters. In the interface: Panorama and volume, color and saturation, XY effect. In the game: Steering wheel and gas, two ability parameters, balance control. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: These are two program parameters of one position, and not necessarily two contacts.
  • Radial menu. Gesture: Open the menu, select a sector with a movement and confirm. In the interface: Tools, commands, quick selection. In the game: Wheel of weapons, spells or orders. Access level: Cursor and buttons; The application gets the usual pointer and buttons. Physical fingers and their separation may be unknown to him. Conditions: Works through the cursor and holding. The option with a physical panel center requires T or special mode.
  • Outer ring as an additional command. Gesture: Go beyond a given radius relative to the center of the surface. In the interface: Accelerated mode or an expanded set of functions. In the game: Running on the outer ring, walking closer to the center. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: For a regular cursor, an analogue relative to the screen center is possible; physical zone requires panel coordinates.
  • Edge slider stripes. Gesture: Select edges for individual continuous parameters. In the interface: Volume, scale, transparency, time axis. In the game: Tool health, power, height, thrust. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Contacts at the edge can be filtered out by the driver. Do not confuse the edge of the panel with the edge of the screen window.
  • Angles and quadrants. Gesture: Assign different commands to different corners and halves. In the interface: Four quick tools or two control groups. In the game: Left and right hits, four abilities. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: This is a specific surface marking; system click zones do not guarantee arbitrary markings.
  • Display in the screen area. Gesture: Link a surface to a selected part of the screen. In the interface: Control of the minimap, a specific monitor or panel. In the game: Quick order on the minimap, precise work with inventory. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The proportions and size of the area must be taken into account. Steam Input describes the Mouse Region for supported sources.
  • Modifier of another device. Gesture: With a key or button, change the value of the panel movement. In the interface: Rotate instead of transfer, copy when dragging, precise input. In the game: The keyboard is responsible for movement, the panel for the camera; button changes tool. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Some drivers suppress the panel during printing. Collaboration needs to be checked on the device.
  • Crossing zone boundaries. Gesture: Trigger an action when entering a zone or crossing a line. In the interface: Sequential selection, click-free input along a route. In the game: Strings, laser tracks, notes, connecting contacts. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: For zones of the physical panel, T is required. For zones of the screen canvas, the cursor trajectory P is sufficient.
10Pressure and forceOverview and example ↗The measured pressing force sets the value or threshold of action; normal click and contact size does not replace the force sensor.10

Variants and applications

  • Strong click. Gesture: After a normal press, move to a stronger one. In the interface: Additional contextual command or preview. In the game: Second tool action, enhanced interaction. Access level: Force sensor; Force measurement and a suitable API are needed. A simple click or a large contact area does not replace the sensor. Conditions: Supported pressure stages are required; This is not a normal long press.
  • Analog power. Gesture: Continuously associate the amount of pressure with a parameter. In the interface: Effect intensity, level or force. In the game: Gas, brake, object compression, engine power. Access level: Force sensor; Force measurement and a suitable API are needed. A simple click or large contact area does not replace the sensor. Conditions: Range and noise vary by device; pressure is not necessarily measured separately for each finger.
  • Charge by force with release. Gesture: Increase the force, then release the press to start. In the interface: Select intensity before confirming. In the game: Strong throw, hit, shot. Access level: Force sensor; Force measurement and a suitable API are needed. A simple click or a large contact area does not replace the sensor. Conditions: Determine in advance whether a release force, a peak force, or an accumulation over time is used.
  • Several power thresholds. Gesture: Divide the measured force into program ranges. In the interface: Preview, selection, confirmation with one button. In the game: Walking, running, jerking or different instrument states. Access level: Force sensor; Force measurement and a suitable API are needed. A normal click or large contact area does not replace the sensor. Conditions: There may be fewer physically detectable clicks than software thresholds. Need hysteresis...
  • Drawing with power. Gesture: Change the thickness or opacity of a stroke by pressing. In the interface: Brush, retouching, handwritten notes. In the game: Drawing runes with variable thickness, virtual engraving. Access level: Force sensor; Force measurement and a suitable API are needed. A regular click or a large contact area does not replace the sensor. Conditions: Both trajectory and pressure are needed; the finger on the trackpad is not equal to the pen on the graphics tablet...
  • Strength is like speed. Gesture: Increase the rate of change of a parameter when pressing harder. In the interface: Fast rewind, scroll or adjust. In the game: Speed ​​of the mechanism, winding or movement. Access level: Force sensor; Force measurement and a suitable API are needed. A simple click or large contact area does not replace the sensor. Conditions: Speed ​​control is different from setting an absolute value; I need a clear zero...
  • Power as a precision switch. Gesture: Press harder for slower, more precise control. In the interface: Precise editing mode without a separate key. In the game: Crosshair stabilization or careful manipulation. Access level: Force sensor; Force measurement and a suitable API are needed. A regular click or a large contact area does not replace the sensor. Conditions: Pressing itself can move the finger; Convenience needs to be checked on a real panel.
  • Additional click while dragging. Gesture: During the transfer process, change the force and enable the second function. In the interface: Preview of the receiver, expand a subfolder, additional mode. In the game: Squeeze the captured object, change the grip or strength of the tool. Access level: Force sensor; Force measurement and a suitable API are needed. A regular click or a large contact area does not replace the sensor. Conditions: Pressure events must be coordinated with pointer capture and system behavior.
  • Force impulses. Gesture: Strengthen and release pressure without completely lifting off. In the interface: Expressive music input, impulse control. In the game: Pump, pulsation ability, transmitting rhythm by force. Access level: Force sensor; Force measurement and a suitable API are needed. A normal click or a large contact area does not replace the sensor. Conditions: A normal click does not report such a curve; smoothing and thresholds with tolerance are required.
  • Keeping strength in range. Gesture: Maintain pressure between the lower and upper boundaries. In the interface: Force dosing simulator. In the game: Fine work with a fragile object, string tension, neutralization. Access level: Force sensor; Force measurement and a suitable API are needed. A regular click or a large contact area does not replace the sensor. Conditions: This is an original gaming model; thresholds need to be calibrated, and an alternative given by time or slider.
11Composite control schemesOverview and example ↗Multiple signals or axes are combined into one control rule with separate roles for accuracy, direction, and confirmation.6

Variants and applications

  • Virtual trackball. Gesture: Push to set the speed, after lifting off, continue moving with inertia. In the interface: Long-distance pointer movement, rotation of the model. In the game: Inertial chamber or rotating ball. Access level: Separate contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: For accurate lift-off triggering, a contact signal or a special mode is required. Software inertia is not physical rotation of the panel.
  • Continue moving at the edge. Gesture: Bring the contact to the edge and continue changing the parameter without further movement. In the interface: Scrolling or rotating without constantly moving the finger. In the game: Continuous camera rotation, tower rotation. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: Separately set the speed at the edge and the stopping condition. The driver can filter edge contacts.
  • Swipe from the physical edge. Gesture: Consider not only the direction, but also the beginning of the contact at the edge of the panel. In the interface: Sliding panel, an additional set of commands. In the game: Opening inventory, map or hidden panel. Access level: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this. Conditions: The edge of the panel and the edge of the screen window are different. The OS may intercept this gesture for a global function.
  • A chain of gestures. Gesture: Perform several recognizable movements in a given order. In the interface: Gesture macro or multi-step command. In the game: Combo, password, rune sequence. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: Through P, the sequence of drags and clicks can be recognized. A chain without a button requires T; I need a clear error reset.
  • Hierarchical menu with a stroke. Gesture: Use sequential directions to select a section and a nested command. In the interface: Quick commands in the marking menu after training. In the game: Select a category and a specific spell in one route. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: A visible version of the menu is needed for training and a backup method for selecting.
  • Lateral displacement accuracy. Gesture: Use one drag component to change the value, the other to adjust the sensitivity. In the interface: Precise scrubbing: horizontal time, vertical step scale. In the game: Select strength and accuracy, adjust the timing mechanism. Access level: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him. Conditions: This is a software display of the cursor trajectory. Regular two-finger scrolling does not guarantee the same geometry.

Haptic feedback

Tactile divisions

A short impulse when crossing a step or sector.; Slider, frame selection, radial menu.; Safe, weapon wheel, switch.

Feeling the border

Impulse when reaching the edge of the permissible range.; End of list or limit of adjustment.; End of lever stroke, edge of card.

Binding confirmation

Impulse when hitting the guide or exact value.; Alignment, joining of objects.; Puzzle, connecting parts.

Status Confirmation

Recoil when selected, captured, reached threshold or completed.; Distinguishable stages of the operation.; Capture, charge ready, action confirmed.

Tactile movement pattern

The pulses imitate the surface as they move; Virtual scale or texture.; Roughness, tool operation, movement along the teeth.

Event or error signal

An audible short signal about the result.; Invalid target, error, termination.; Collision, alarm, failed capture.

Input Access

P

Description: Cursor and buttons; The application gets the usual pointer and buttons. The physical fingers and their separation may be unknown to him.

G

Description: Ready gesture; You need a gesture transmitted by the OS or framework: scroll, zoom, rotate, swipe or hold. The set varies.

T

Description: Individual contacts; You need access to coordinates, phases and contact IDs. The presence of multitouch on the device does not guarantee this.

F

Description: Force sensor; Force measurement and a suitable API are needed. A regular click or a large contact area does not replace the sensor.

What affects feasibility

The touchpad is an indirect device: the position of the screen cursor is usually not the same as the position of the finger on the surface. The cursor leaving the element does not mean lifting your finger.

System gestures, especially three- and four-finger and edge-based gestures, can switch apps or desktops. The application may not always receive them. macOS Gestures; Windows Gestures.

A web application typically works with a pointer and wheel events. Pointer Events by themselves do not provide portable access to all fingers of a laptop touchpad. The presence of the pressure property does not prove the measurement of force. W3C: Pointer Events.

The number of visible contacts depends on the hardware, driver, and palm and thumb screening. The contact ID does not tell you which anatomical finger it is. AppKit: contacts and system gestures; libinput: swipe, pinch, hold.

Force sensor, strong click and haptic feedback are different possibilities. Contact area does not equal force, and force is not necessarily available to each finger individually. Force Touch and haptic feedback; AppKit: pressure behavior.

How to choose mechanics

For a portable option, start with hover, click, drag and scroll. Add pressure and multi-finger commands after checking the device.

Separate the physical signal and the rule of the game: strength, holding time, length of movement and speed are different parameters.

Show start of capture, active mode, threshold, successful completion and cancellation. Give preliminary results where it helps.

Handle gesture cancellation, loss of focus and capture. An incomplete gesture should not leave a shot, move, or carry enabled.

Check the small area of ​​the panel, the need to move your finger, work simultaneously with the keyboard, and comfort without pressing.

Provide alternatives to pressure, complex chords, and long holds. Don't assign the only path to an important command to a hidden or system gesture.

What requires separate equipment or research

Finger tilt, anatomical recognition, contact shape and area, knuckle touch, palm as a command, hover and stylus input are not considered basic channels of a conventional touchpad. Individual devices may provide additional data, but this must be confirmed by documentation and measurement. Palm screening may intentionally hide such contacts.

How to use the catalog

Separate player action, signal recognition, game rule, and feedback. The related variants here preserve the context of application and are not necessarily independent physical primitives.

When prototyping, test one rule and failure conditions first. The presence of an API, sensor, or source does not prove that all scenarios work. For devices, test feature availability, calibration, and alternate input on the actual target hardware.

Sources and examples

Sources support particular techniques or methodology, not every family variant. Design examples and mechanic combinations are illustrative.

CC BY 4.0 · gamemechanics.pro contributors