Skip to content
WM KeyboardWM Keyboard
Accessibility

Key press

Every row on the Key press screen (control type, range, and default) for haptics, sound, popup, timing, and press-and-hold shortcuts.

The Key press screen collects everything about the physical act of pressing a key: vibration, sound, the preview bubble, timing, and press-and-hold shortcuts, in the order it appears on screen. This page is the field reference; for the reasoning behind each option, read Sound & vibration and Typing basics instead.

Screenshot pending
The top of the Key press screen: the Haptic feedback group with its style chips.
WM KeyboardKey press

The screen has five groups, top to bottom: Haptic feedback, Key press sound, Key popup, Timing, and Press and hold shortcuts.

WM KeyboardKey pressHaptic feedback
SettingControlOptions / rangeDefault
Key press hapticsToggleOn
Haptic styleChoice (chips)Tap / Key / Click / Heavy / Sharp / CustomTap
Haptic strength (Custom only)Slider5–60 ms15 ms
Haptic intensity (Custom, Sharp)Slider1–255, shown as a percentage255 (100%)
Press and hold hapticsToggleOn
Press and hold release hapticsToggleOff
Vibrate on space (shown only while Key press haptics is on)ToggleOn
Vibrate on delete swipe (same)ToggleOn
Vibrate on key repeat (same)ToggleOn
Click on key repeat (same)ToggleOn
Follow the system touch feedback setting (same)ToggleOff
Mute haptics in Do Not Disturb (same)ToggleOff

Key press haptics is the master switch; turning it off hides the six per-event rows below it entirely rather than just disabling them. Haptic style picks how the buzz is produced. Tap and Key hand it to the platform’s own haptic call (what stock keyboards use, so it follows the vendor’s tuning and the system haptic-intensity setting); Tap asks for the keyboard-specific waveform most vendors tune and is the default, Key asks for the general button press. Click and Heavy use a hardware-tuned effect (Android 10+), Sharp plays a hardware click primitive whose strength follows the intensity slider (Android 11+), and Custom drives the vibration motor directly from the strength and intensity sliders. When a style isn’t available on a device it falls back to a hardware Click, then Custom.

Two of the per-event rows aren’t about vibration at all, despite living in this group. Click on key repeat is the sound half of “Vibrate on key repeat”: it plays the key sound on every auto-repeat while or Space is held, and does nothing unless Key sound is on. Follow the system touch feedback setting hands the master switch over to Android’s own touch-vibration toggle. It’s off by default, so turning off touch feedback in Android’s sound settings leaves the keyboard buzzing; turn this on if you expect the system switch to cover the keyboard too.

Screenshot pending
Haptic style set to Custom, showing the strength and intensity sliders.
WM KeyboardKey pressKey press sound
SettingControlOptions / rangeDefault
Key soundToggleOff
Sound styleChoice (chips)Click / Standard / Pop / Thock / Chime / Custom / Sound packClick
Installed sound library (Custom only)List + importup to 30 installed sounds
Installed sound packs (Sound pack only)List + importup to 20 installed packs
Key release sound (Sound pack only, and only for a pack that has key-up recordings)ToggleOn
Sound volumeSlider5%–100%50%

Seven chips, not six. Click and Standard come from the device’s own system sound pack; Pop, Thock and Chime are synthesized in-app and sound identical on every device. The last two both name something you’ve installed rather than a fixed waveform, so each reveals its own list when you pick it.

Choosing Custom reveals your installed sound library and an Import a sound file (.mp3) button, and the label undersells it, since it also accepts .ogg and .wav files. The library holds up to 30 sounds between imports and installed sound addons.

Choosing Sound pack reveals a second, separate list with its own Import a sound pack (.wmsoundpack) button, holding up to 20 packs. A pack is one keyboard recorded many times over (up to 32 recordings) and the keyboard picks a different one per key press. Each pack’s row says what it carries, so “10 recordings • keys sound on the way up” means the pack was recorded with key-up sounds as well. For those packs only, a Key release sound toggle appears under the list; it’s on by default, and it’s hidden for packs without key-up recordings because there’d be nothing for it to do. Tapping a pack in the list plays a full keystroke rather than just the way down. See Sound & vibration for the longer version.

Installing a Sound addon highlights this Sound style row and offers to switch to it right after install, the same “Use it now?” flow other addon types use (see Installing addons).

WM KeyboardKey pressKey popup
SettingControlOptions / rangeDefault
Key popupToggleOn
Popup on number pads (shown only while Key popup is on)ToggleOff
Minimum popup duration (same)Slider0–300 ms140 ms
Maximum popup duration (same)Slider400–2000 ms750 ms
Popup on keyToggleOn
Popup font sizeSlider×0.70–×1.60×1.00
Popup heightSlider32–160 dp110 dp on-key, 65 dp floating
Popup shapeNav row (shape picker)the twelve key shapesRounded
Popup corner radiusSlider0–40 dp12 dp

Minimum popup duration keeps the bubble visible for at least that long after release, so a fast tap doesn’t flash it for a single frame. Maximum popup duration is a different kind of control: a safety cap, not a comfort setting, that force-hides a bubble stranded on screen if the release event is ever dropped under UI lag. It’s measured from the press, not the release, and there’s normally no reason to lower it. Popup on key switches between the bubble growing up from the pressed key itself (the stock-keyboard look) and a compact bubble floating above your fingertip with a gap.

Popup height looks like one slider but stores a value per bubble style, because the two want very different numbers: an on-key bubble is measured from the bottom of the key it covers, so most of its height goes on climbing back out from under your finger, while a floating bubble already starts above the key. Flip Popup on key and the slider shows the other style’s height, and a drag in one mode never resizes the other. A theme can also carry its own popup height, and when it does the theme wins over whichever value the slider holds.

Popup shape and Popup corner radius are not just about the preview bubble: they set the outline of every popup surface the keyboard draws, including the press-and-hold alternates, the language picker and the panel menus. The radius only applies to the rounded and cut shapes; the rest size their corners off the popup itself. A theme can override either one.

Screenshot pending
Key popup and Timing groups, mid-screen.
WM KeyboardKey pressTiming
SettingControlOptions / rangeDefault
Press and hold delaySlider150–700 ms300 ms
Time before a key repeatsSlider150–800 ms300 ms
Delete repeat intervalSlider20–200 ms50 ms
Space repeat intervalSlider20–200 ms50 ms
Caps lock double pressSlider150–600 ms350 ms

Press and hold delay is how long a key must be held before its alternates popup (accents, digits, symbols) appears. Time before a key repeats is the separate wait before a held or Space starts repeating; the two used to share one number, which meant slowing down accent popups for a tremor also slowed down backspace.

The repeat interval is two sliders, not one, because delete and space are held for opposite reasons. Delete repeat interval sets how fast a held clears text, where faster is usually better. Space repeat interval does the same for a held Space, where a runaway row of spaces then has to be undone, so it’s worth setting slower. Both ship at 50 ms.

Caps lock double press is the window for two Shift taps to lock caps, and it only matters going into caps lock; a single tap while Shift or Caps Lock is already on always turns it off, regardless of timing.

WM KeyboardKey pressPress and hold shortcuts
SettingControlOptions / rangeDefault
Press and hold hintsToggleOn
All accents on press and holdToggleOff
Press and hold ?123 for the number padToggleOn
Currency keysFree-text field, space-separated৳ € £ ¥ ₹ ₿
Ctrl shortcuts as raw key eventsToggleOff
Press and hold A to select allToggleOff
Press and hold C to copyToggleOff
Press and hold X to cutToggleOff
Press and hold V to pasteToggleOff
Press and hold Z to undoToggleOff
Press and hold Y to redoToggleOff
Shortcut keys (shown once at least one of the six above is on)Nav row → dialogone letter per actiona c v x z y

Press and hold hints shows a small corner label on each key previewing its first press-and-hold character; a key running a hold-letter shortcut below shows no hint. All accents on press and hold adds the complete accent set to every Latin letter’s popup, on top of whatever the layout already lists (letters only). Press and hold ?123 for the number pad is on out of the box: holding the symbols key opens a full number pad panel over the current field, while a quick tap still switches to the symbol layer as usual. Currency keys is stored empty by default; the field displays and edits the built-in set (৳ € £ ¥ ₹ ₿) until you type your own space-separated list, and clearing it back to blank restores the built-in set. Ctrl shortcuts as raw key events only matters for a Ctrl key on a custom layout: off routes A/C/V/X through Android’s clipboard actions (works in web pages and Compose apps too), on sends the raw key event instead, which a terminal app needs since it treats Ctrl+C as interrupt rather than copy.

The six Press and hold [letter] to… toggles are all off by default, and each fully replaces that letter’s accent popup while on: turning on “Press and hold C to copy” removes çć from C’s popup entirely, it doesn’t add the shortcut alongside them. Copy and cut both fall back to select-all first when nothing is selected, so one hold copies or cuts the whole field.

Shortcut keys is one row for all six bindings rather than six rows, and it only appears once you’ve switched at least one of them on. The shipped a c v x z y is a QWERTY answer, so a layout without those letters (Bengali, Russian) needs the whole set moved onto keys it actually draws. The row’s subtitle lists the keys that are currently bound; tapping it opens a dialog with one field per switched-on action, saved in one go.

Screenshot pending
Press and hold shortcuts: the currency keys field and the hold-letter toggles.
  • The six per-event toggles fold away, not just grey out. With Key press haptics off, Vibrate on space, Vibrate on delete swipe, Vibrate on key repeat, Click on key repeat, Follow the system touch feedback setting and Mute haptics in Do Not Disturb all disappear from the screen rather than showing disabled.
  • Press and hold delay is duplicated in two places. This Timing slider (150–700 ms) and a second copy under Accessibility → Touch, framed for hand tremor with a wider 150–800 ms range, both move the same underlying setting. See Accessibility settings.
  • A few rows on this screen aren’t reachable from in-app settings search. Haptic style, Click on key repeat, Follow the system touch feedback setting, Sound style, Key release sound, Time before a key repeats and Shortcut keys are all real, rendered rows here; they’re just missing from the search index. Everything else on the screen, Key sound, Sound volume, Maximum popup duration, Popup shape, Popup corner radius and Press and hold ?123 among them, is indexed and searchable.
  • Every row here has a restore button once you move it. Change a value and a small restore control appears beside that one control, putting just that setting back. See Putting one setting back.
  • The “Sound & haptics” toolbar tool isn’t a separate settings surface. Its panel reuses the same Key press sound group plus a nav row into this full screen, so every change either surface makes writes to the same settings. See Sound & vibration.
  • Currency keys shows the built-in default even though the stored value is empty. The field only starts writing your own list once you edit it; clearing it back to blank returns you to the same default rather than an empty popup.
  • No edition differences. Haptics, key sounds, popups, timing and press-and-hold shortcuts all work identically on the full and lite builds.
  • Sound & vibration: the why behind the Haptic feedback and Key press sound groups, plus the ringer/DND distinction and the toolbar shortcut.
  • Typing basics: the why behind the Key popup, Timing, and Press and hold shortcuts groups, plus multi-touch and key repeat behaviour.
  • Accessibility settings: the second copy of Press and hold delay, and Ignore repeated presses, which interacts with this screen’s key-repeat timing.
  • Installing addons and Addons overview: how a Sound addon lands in the Key press sound library.