Skip to content

Gesture cheat sheet

github-actions[bot] edited this page Sep 23, 2026 · 20 revisions

Every drag, long-press, and hold on WM Keyboard, flattened onto one page: what it does, where it lives, and the setting that controls it. Each family gets its own short table here. For the reasoning and the numbers behind each one, follow the link into its full page.

This page covers touch gestures only. For the physical-keyboard leader key, its letter bindings, and panel navigation, see Hardware shortcuts instead.

Swiping the spacebar

Typing / Gestures

Which action a spacebar swipe runs depends on when the drag starts relative to the press-and-hold delay (300 ms by default), not on how far it travels. A drag that crosses the slop before the delay elapses uses the Quick swipe on the spacebar slot. One that starts after uses the Press and hold, then swipe slot. Full mechanics on Gestures and Switching languages.

Gesture Where What it does Setting
Tap, no movement Spacebar Types a space None
Swipe starting before the press-and-hold delay Spacebar Runs the quick-swipe slot's action Quick swipe on the spacebar (default Language)
Hold past the press-and-hold delay, then swipe Spacebar Runs the hold-swipe slot's action Press and hold, then swipe (default Cursor)
Slot = Language, swipe sideways Spacebar Steps through enabled layouts (a flick moves one; a continued swipe steps every 44 dp after a 200 ms pause, 110 dp to wrap past either end) Either slot set to Language
Slot = Cursor, swipe sideways Spacebar Moves the text cursor one character per 16 dp of drag Either slot set to Cursor
Same, dragging vertically Spacebar Also steps the cursor a line at a time 2-D cursor touchpad (Off)
Same, while the drag moves the cursor Spacebar Shows the text at the cursor, enlarged, in a bubble over the text Cursor magnifier (On)
Slot = Numpad, cross the initial slop Spacebar Opens the numeric keypad (one-shot, so the rest of the drag does nothing) Either slot set to Numpad
Straight downward drag, steeper than it is wide Spacebar Dismisses the keyboard Swipe down to hide the keyboard (Off)
Press and hold (~250 ms, or your press-and-hold delay if shorter), with two or more layouts enabled Spacebar Opens the inline language preview or a scrollable picker list None
Drag once the preview or picker is open Spacebar Always switches language, regardless of which slot is configured None

Dragging a delete key to delete words

Key press / Delete keys

Tap, hold-to-repeat, and the delete swipe are one state machine on ⌫, so a drag can take over from the repeat loop mid-press. In Words mode each word costs less to delete than the last: 72 dp for the first, 56 dp for the second, then 6 dp less per word down to a 28 dp floor. In Characters mode every character costs a flat 20 dp. Full breakdown, including the character-run and selection rules, on Gestures.

Gesture Where What it does Setting
Tap Backspace Deletes one character None
Hold still Backspace Repeats character deletion after the repeat wait, at the delete interval Time before a key repeats · Delete repeat interval
Drag left past a small slop Backspace Cancels the repeat and takes a word (shrinking with each word) or a character per step Swipe to delete · Swipe deletes (On · Words)
Drag right mid-swipe Backspace Gives back one step of the highlight per step of travel Show what you will delete (On)
Lift after dragging left Backspace Deletes everything the swipe highlighted (same)
Drag right mid-swipe Backspace Re-anchors instead of undeleting, so the next leftward word costs full travel again Show what you will delete (Off)
Hold still Either delete key Repeats a whole word per tick instead of a character, at the word interval Holding delete clears words · Word delete interval (Off · 140 ms)
Tap Forward delete Deletes one character after the cursor None
Drag right past a small slop Forward delete Cancels the repeat and takes a word or a character after the cursor per step Swipe on forward delete · Swipe deletes (On · Words)
Drag left mid-swipe Forward delete Gives back one step of the highlight per step of travel Show what you will delete (On)
Lift after dragging right Forward delete Deletes everything the swipe highlighted (same)

Long-pressing a key

Key press

The full field-by-field list (haptics, sound, popup timing, and every long-press shortcut) is on Key press settings.

Gesture Where What it does Setting
Long-press a letter key Letter keys Opens its accent/alternate-character popup Press and hold hints (On) · All accents on press and hold (Off)
Long-press ?123 ?123 Opens the numeric keypad panel (a tap still switches symbol layers as usual) Press and hold ?123 for the number pad (On)
Long-press A/C/X/V/Z/Y Those letter keys, or whichever six you rebind them to Adds select-all / copy / cut / paste / undo / redo as an extra entry in that letter's accent popup Press and hold A to select all, and its five siblings (all On)
Double-tap Shift within the window Shift key Turns on caps lock Caps lock double press (350 ms)
Hold any key still Any key Shows the key preview bubble Key popup (On)

Dragging from a modifier key

Every layout has a Shift key. A Ctrl, Alt or Meta key only exists on a layout you built or imported, since none of the shipped ones carry a modifier row. Add one from the layout editor. Full mechanics on Gestures.

Gesture Where What it does Setting
Tap Shift or a modifier key Arms it for the next key you press None
Double-tap Shift or a modifier key Caps lock, or locks the modifier until you tap it again None
Drag onto a letter and lift Shift Types the capital, through the composing buffer None
Drag onto anything else and lift Shift Sends Shift plus that key (Shift+Enter, Shift+Tab) None
Drag onto another key and lift Ctrl, Alt or Meta Sends that combination, then clears the modifier None
Drag off and back, then lift Either Arms it, the same as a tap None
Drag off the key grid and lift Either Cancels, and nothing is sent None

Dragging from ?123 or ABC

The layer shows for as long as you hold, and the keyboard is back on the layer you started from the moment you lift. Full mechanics on Gestures.

Gesture Where What it does Setting
Drag onto a key and lift ?123 Shows the symbols, types the one you lift on None
Drag onto a key and lift ABC on a symbol or custom layer Shows the letters, types the one you lift on None
Drag off the first symbols page ?123 while symbols are up Shows the second symbols page instead None
Hold still over a key mid-drag Any key with alternates Opens its popup, which your finger then steers Ignores Choose without lifting
Drag onto a layer, mode or tool key and lift Any of them Nothing is typed, and the layer goes back None
Drag off the key grid and lift Anywhere outside Cancels, and nothing is typed None
Tap without moving ?123 or ABC Switches layer and stays there, as always None

Using the volume keys as a cursor

Typing / Volume keys

Off by default, and only active while the keyboard is on screen. As soon as it closes, the volume keys go back to controlling volume. See Gestures for the swallow-press-and-release detail.

Gesture Where What it does Setting
Press volume down Hardware volume rocker Moves the cursor one character left Volume keys move the cursor (Off)
Press volume up Hardware volume rocker Moves the cursor one character right (same)
Hold a volume key Hardware volume rocker Repeats via Android's own hardware key-repeat (same)
Press while audio is actually playing Hardware volume rocker Falls back to real volume control instead of the cursor Release the keys while audio plays (On)

Dragging inside a panel or the toolbar

A grab-bag of drags that live on their own feature pages, linked below each row.

Gesture Where What it does Setting
Long-press an emoji Emoji picker Opens the skin-tone/gender variant popup, with a star-to-favourite toggle Emoji descriptions adds the name (On)
Long-press a favourited emoji, then tap Reorder favourites Emoji picker, anywhere an emoji is drawn Opens the drag-to-reorder list (needs two or more favourites) None
Drag a row in that list The reorder list Moves the favourite, saved on confirm None
Long-press a Klipy/GIPHY result Stickers panel Opens an action sheet: save to each of your packs (or "Save to a new pack" if you have none), Copy, Report None
Long-press a GIF result GIF panel Opens the same sheet with Copy and Report. Saving to a pack is sticker-only None
Swipe a card left or right Clipboard panel Deletes it once the drag passes 40% of the card's width. No confirmation, but an Undo bar offers it back for five seconds None
Hold and drag a tool Toolbar / toolbox Pins, unpins, or reorders it None
Swipe down on the toolbar strip Toolbar Dismisses the keyboard Swipe down to hide, toolbar (Off)
Drag the seek bar Media controls Scrubs playback to that point None
Swipe across the letters Letter keys Glides a word, or draws handwriting instead if reassigned Glide typing (On)
Drag the floating panel's handle bar Floating keyboard Moves the panel Floating keyboard (Off)
Drag the floating panel's resize grip Floating keyboard Resizes width and height together (height clamped 60%–160% of normal) (same)

Options

Typing / Gestures

Every default on this page, gathered in one place. "Where" is the settings screen and group; most are one tap from the Typing tile, but a few live under Key press, Emoji, Appearance, or Layout & size.

Setting Where Default
Quick swipe on the spacebar Typing → Gestures Language
Press and hold, then swipe Typing → Gestures Cursor
2-D cursor touchpad Typing → Gestures Off
Cursor magnifier Typing → Gestures On
Swipe down to hide the keyboard Typing → Gestures Off
Glide typing Typing → Gestures On
Swipe to delete Typing → Delete keys On
Swipe deletes Typing → Delete keys Words
Show what you will delete Typing → Delete keys On
Swipe on forward delete Typing → Delete keys On
Holding delete clears words Key press → Timing Off
Word delete interval Key press → Timing 140 ms (60–500 ms)
Volume keys move the cursor Typing → Volume keys Off
Release the keys while audio plays Typing → Volume keys On
Press and hold delay Key press → Timing 300 ms (100–800 ms)
Time before a key repeats Key press → Timing 300 ms (150–800 ms)
Delete repeat interval Key press → Timing 50 ms (20–200 ms)
Space repeat interval Key press → Timing 100 ms (20–200 ms)
Caps lock double press Key press → Timing 350 ms (150–600 ms)
Press and hold hints Key press → Press and hold shortcuts On
All accents on press and hold Key press → Press and hold shortcuts Off
Shifted letter on press and hold Key press → Press and hold shortcuts Off
Press and hold ?123 for the number pad Key press → Press and hold shortcuts On
Press and hold A/C/X/V/Z/Y to … Key press → Press and hold shortcuts On (each)
Choose without lifting Key press → Alternate keys On
Emoji descriptions Emoji → Emoji panel On
Swipe down to hide (toolbar) Appearance → Toolbar Off
Floating keyboard width Layout & size → One-handed, split & floating 320 dp (240–500 dp)

Details & edge cases

  • The two spacebar slots resolve by hold time, not distance. A fast flick and a careful drag can cover the same ground, so the keyboard can't tell them apart by how far you've moved, only by whether the press-and-hold delay has elapsed yet.
  • Numpad is a discrete action. Unlike Cursor or Language, which keep responding for as long as you drag, a slot set to Numpad only needs the initial slop crossed once; everything after that is inert.
  • Two settings hide the keyboard on a downward swipe, two words apart. "Swipe down to hide the keyboard" under Typing → Gestures applies to the spacebar. A separate "Swipe down to hide" under Appearance → Toolbar applies to the toolbar strip. Turning one on doesn't touch the other, and both ship off.
  • The 2-D cursor touchpad only claims the vertical axis once a drag has actually resolved to Cursor. With the defaults (quick swipe = Language, press-and-hold swipe = Cursor), a fast downward flick within the press-and-hold delay is still governed by the quick-swipe slot and dismisses the keyboard rather than scrolling through lines.
  • ⌦ is the same gesture pointed the other way, and shares every setting but its own on/off switch. Swipe deletes, Show what you will delete and the two step distances govern both keys. No built-in typing layout carries a forward delete key; add one in the layout editor, where it is also an action the text-editing pad can carry.
  • A delete key on a panel is a delete key. The text-editing pad's ⌫ and ⌦ run the swipe, the preview and the word-clearing hold, and repeat at the delete interval rather than the pad's own. Before, they only tapped and repeated.
  • Backspace's word-delete acceleration resets on a reversal, not on release. Dragging right mid-swipe doesn't bring back a deleted word. It only means the next leftward word costs full travel (72 dp) again instead of the shrunk amount.
  • Volume-key cursor control re-checks "is audio playing" on every key press, not once at the start, so Release the keys while audio plays hands control back and forth live as playback starts and stops mid-typing.
  • The press-and-hold delay has one slider. Key press → Timing runs 100–800 ms, the whole range stores. Accessibility → Touch no longer has its own copy: it links straight to Key press → Timing instead.
  • The backspace repeat has its own wait, not the press-and-hold delay. Holding ⌫ starts repeating after Time before a key repeats (300 ms), which is a separate slider. Lengthening the press-and-hold delay for accent popups no longer slows backspace down with it.
  • A very wide screen can let the floating panel's resize grip briefly exceed its 500 dp maximum mid-drag. It snaps back the moment you release.
  • With TalkBack or another screen reader running, most drags above stop working unless you turn on gesture pass-through. Set TalkBack support to Gestures under Accessibility → Screen reader. Then grant the "WM Keyboard gestures" accessibility service. Those two steps keep the spacebar cursor slide, the backspace word-swipe, glide typing, and handwriting alive underneath TalkBack's own touch exploration. Without that service granted, all four fall back to Explore-by-touch and don't respond to a drag. See Accessibility overview.

See Gestures for the full spacebar, backspace, and volume-key writeup, Switching languages for everything about the language ring, Glide typing for the letter-area swipe, and Hardware shortcuts for the physical-keyboard leader key and panel navigation this page doesn't cover.

Clone this wiki locally