Gesture cheat sheet
Every gesture on one page, printable.
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
Section titled “Swiping the spacebar”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
Section titled “Dragging a delete key to delete words”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
Section titled “Long-pressing a key”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 Enter | Enter | Opens a popup with emoji first; releasing on it opens the emoji panel. In a Send/Go/Search field the line break is in the popup too | Press and hold enter for emoji (Off) |
| 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
Section titled “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
Section titled “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
Section titled “Using the volume keys as a cursor”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
Section titled “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 Full edition only | 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
Section titled “Options”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 enter for emoji | Key press → Press and hold shortcuts | Off |
| 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
Section titled “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.
