Hardware keyboards
Physical keyboards route through the same engine: autocorrect, suggestions and tools included.
Plug in a Bluetooth or USB keyboard and WM Keyboard doesn’t just get out of the way: it keeps running the same engine underneath. Autocorrect, suggestions and transliteration all work on physical keystrokes exactly as they do on the soft keys, and a leader key opens any tool without your hand ever leaving the keyboard.
Typing on a physical keyboard
Section titled “Typing on a physical keyboard”With Process hardware keys on (the default), a key you press on a physical keyboard runs through the exact same code path as a tap on the screen: phonetic layouts transliterate as you go, words compose for suggestions, autocorrect fires on Space, and ⌫ undoes a swipe or a correction instead of just deleting a character. If you’ve turned on wrap-around-selection for brackets and quotes, that carries over too: select some text and type an opening bracket or quote on the physical keyboard and it wraps the selection, same as it would from a tap.
Turn the toggle off and physical keys type their raw characters straight into the field, letting the keyboard’s own layout (and the system, not WM Keyboard’s autocorrect) own input entirely.
Two things stay true no matter how this toggle is set:
- Shortcuts, navigation and function keys always go straight to the app. Ctrl+C, the arrow keys, Tab, Esc and forward-delete are never intercepted for typing; only actual character keys are. AltGr combinations are the one exception that looks like a shortcut but isn’t: a German keyboard’s AltGr+Q for ”@” arrives as Ctrl+Alt together, and the keyboard treats that as a character rather than a shortcut, decoding it the same way the system does.
- Password fields and structured fields never get autocorrect help. Email, URL, number, phone, date, time and date-time fields, and anything marked as a password, always take raw physical typing: there’s nothing to transliterate or correct in a field that isn’t ordinary prose.
A physical dead key (an accent key that combines with the next letter) is composed by Android itself before the keystroke reaches the keyboard, so WM Keyboard doesn’t try to run its own accent logic on top: you get the accented character the same way any other app would see it. One soft-keyboard-only behavior worth knowing: a bare press of the physical Shift key is just a modifier, so it doesn’t cycle a selection’s capitalization the way tapping the on-screen Shift key does.
Opening tools with the leader key
Section titled “Opening tools with the leader key”Tool shortcuts (on by default) let you open any tool without touching the screen at all. Double-tap Ctrl — nothing else uses that combination, so it’s safe by default — and every button on the keyboard sprouts a small badge, under its icon, showing the key that operates it. Press that key and the button fires. If you don’t press anything, the badges disappear on their own.
Four kinds of badge appear, and between them they cover everything on screen:
| Where | Key |
|---|---|
| Toolbar icons | 1 onward, counting from the toolbox button at the start |
| Toolbox tools | the tool’s own letter, or Shift+a letter for the ones with no letter |
| Symbol row | Shift+a letter |
| Emoji row | Shift+1 onward, counting from the left like the toolbar |
| Suggestions | 1 to 9, left to right (see below) |
The badges spell their modifier out — Ctrl+2, Shift+Q — because those are the names printed on a PC keyboard. WM KeyboardTypingPhysical keyboardWrite the modifier names swaps them for the shorter ⌃ and ⇧ glyphs if you’d rather have the space back.
WM KeyboardTypingPhysical keyboardTime to press a key is how long they stay up: eight seconds by default, anywhere from one to thirty. Long while you’re learning them, short once you aren’t — the keyboard does nothing else until the time runs out or you press a key.
T still opens the full toolbox from anywhere, and ? opens the cheat sheet: a complete legend of every key, including the tools that aren’t on screen to wear a badge. While the badges are up, a small ? for all keys pill in the bottom-right corner points at it. The legend has a close button of its own, so you’re never stuck in it without a keyboard.
Ctrl and a number, with no leader
Section titled “Ctrl and a number, with no leader”The toolbar’s numbers also work as a direct chord, so the common tools are one keystroke away rather than three. Ctrl+1 is the toolbox button, Ctrl+2 the first tool after it, and so on to Ctrl+0 for the tenth button. Anything past the tenth stays reachable through the toolbox.
That’s the one setting here worth a second thought before leaving it on: browsers and editors use Ctrl+number to switch tabs, and while you’re writing in a text field the keyboard takes the key first. Turn it off and the same numbers still work after the leader key.
The tool letters
Section titled “The tool letters”The default letter for each tool is close to its own initial, wherever that letter was still free:
| Key | Tool | Key | Tool |
|---|---|---|---|
| A | AI writing tools | O | Settings shortcut |
| B | Power saving | P | Password generator |
| C | Clipboard | Q | QR code generator |
| D | Dictionary | R | Translate |
| E | Emoji | S | Snippets |
| F | Fancy text | U | Unit converter |
| G | GIFs | V | Voice typing |
| H | Hide keyboard | W | Web search |
| I | Image search | X | Text editing |
| J | Apps | Y | Special symbols |
| K | Stickers | Z | Undo |
| L | Calculator | ||
| M | Media controls | ||
| N | Numpad |
Open Tool shortcuts list (reachable only while Tool shortcuts is on) to change any of it: tap the shortcut key row to pick a different double-tapped modifier (Ctrl, Alt or Shift) or capture an arbitrary chord live from an attached keyboard, and tap any tool’s row to type a new single letter or digit for it. Reset to defaults puts every letter and the shortcut key itself back the way they started.

T and ? are reserved and can never be bound to a tool: they always open the toolbox and the cheat sheet, respectively. The full binding table and cheat sheet also live in Hardware shortcuts.
There are far more tools than there are letters, so the ones with no letter of their own get a Shift+key assigned automatically when the toolbox is open — that’s what the badges in the grid are showing. Those follow the grid’s order, so they stay put unless you rearrange the toolbox itself.
Symbols and emoji from the keyboard
Section titled “Symbols and emoji from the keyboard”While the toolbox is closed, the same Shift tier goes to the symbol row and the emoji row: double-tap Ctrl, then Shift with the key shown under the cell you want, and it’s inserted.
The symbol row takes the letters, the emoji row takes the digits — Shift+1 for the first emoji, counting from the left exactly the way the toolbar’s numbers do. Letters against digits means the two pools can never collide, so adding a character to a symbol set never renumbers the emoji beside it.
An open toolbox takes the whole tier for itself and the rows drop their badges while it’s up. That’s deliberate: sharing would move the rows’ keys around every time a panel opened, and a key that moves is a key nobody learns.
macOS shortcuts
Section titled “macOS shortcuts”Off by default, and worth turning on for a keyboard built for a Mac. With it on, Command (the key beside the space bar, which Android sees as Meta) and Option behave the way they do on macOS:
| Chord | Does |
|---|---|
| ⌘+C / V / X / A | Copy, paste, cut, select all |
| ⌘+Z / ⌘+Shift+Z | Undo, redo |
| ⌘+← / → | Start, end of the line |
| ⌘+↑ / ↓ | Start, end of the text |
| ⌥+← / → | One word left, right |
| ⌥+⌫ | Delete the word before the cursor |
| ⌘+⌫ | Delete to the start of the line |
Hold Shift with any of the moves to select instead. Ctrl keeps its usual meaning throughout — on a Mac it’s a separate modifier with its own habits, and an app that already handles Ctrl+C should keep getting it. Every other Command chord (⌘+F, ⌘+S) goes straight to the app, and a few Command chords are claimed by the system on some devices, so those never reach the keyboard to be remapped at all.
One deliberate difference from the on-screen long-press shortcuts: ⌘+C with nothing selected does nothing, rather than selecting the whole field first. That’s what every other keyboard on a Mac does, and quietly copying a half-written message is a poor surprise.
Switching language
Section titled “Switching language”A keyboard with its own language key (some have a globe or 한/영-style key) can always switch: press it and the keyboard moves to the next enabled language, flashing a small list so you can see where you landed. That needs no setting and can’t collide with anything, since apps have no use for the key.
For every other keyboard there’s Ctrl+Space changes the language, on by default. Ctrl+Space works like Alt+Tab does for windows: keep Ctrl held and each press of Space steps through the list on screen, add Shift to step backward, and releasing Ctrl switches to whatever is highlighted. A quick tap-and-release is simply a one-step switch. Esc cancels, and the rows in the list can be tapped too.
One thing to know: some apps want Ctrl+Space for themselves — code editors use it to show completions — and while you’re in a text field the keyboard takes it first. If that bites you, this is the toggle to turn off; the dedicated language key and the spacebar keep working either way. ⌘+Space is untouched regardless; that one belongs to the system’s own keyboard switcher. Seeing the list depends on Show the keyboard for shortcuts below: with it off the switch still happens, you just find out from the spacebar label the next time the keys are up.
Driving a tool with the keyboard
Section titled “Driving a tool with the keyboard”Once a tool is open, Arrow keys move a highlight (on by default) lets you drive it without touching the screen. The arrow keys move a highlighted outline over the panel’s results, chips or search box, Enter activates whatever’s highlighted, and Tab jumps between the panel’s sections (search, category chips, then results) once the highlight exists. Home and End jump to a section’s first and last item, and PageUp/PageDown move four rows at a time through a long grid. The highlight is a filled, outlined ring in your theme’s accent color, and it only ever appears after you press a key; it never shows up while you’re using the keyboard by touch.
This covers nearly every tool, not just the searchable ones: the AI panel’s actions and Replace/Insert buttons, translate’s language picker, media controls’ transport, the password generator’s options, a running plugin’s buttons and text boxes, the calendar’s month arrows and day grid, the sound & haptics switches and style chips, the weather refresh, the voice tool’s mic, and the camera and scanner tools once they’re showing a captured photo or a scanned result (the live viewfinder itself stays touch-only). The grammar strip is navigable too, with one difference: because you’re usually mid-sentence while it’s open, the arrows keep moving your cursor — the highlight only appears when you open the tool from the shortcut key, and Enter on an issue applies its top suggestion.
A few tools work by typing rather than highlighting — the calculator and the unit and currency converters take digits and operators straight from the physical keys (type 2*3 and the display shows 2×3), and in the calculator Enter is the = key. The text-editing and numpad panels stay touch-only on purpose: everything they offer, a physical keyboard already does directly. The compass, level and moon phase have no buttons at all, and the handwriting canvas is for fingers and pens.
Esc closes the tool (on by default) makes Esc shut whatever panel or picker the keyboard has open. It only ever consumes the key when the keyboard actually has something open: with nothing open, Esc goes straight to the app, so it still stops a page loading or backs out of insert mode in an editor.
Picking a suggestion from the keyboard
Section titled “Picking a suggestion from the keyboard”Since the suggestion strip can’t be tapped while you’re typing on a physical keyboard, Number keys pick suggestions gives you a keystroke instead, with three modes:
- Off — number keys always type digits.
- Alt + number (the default) — Alt+1 through Alt+9 commit directly, with no leader key first. Browsers and chat apps sometimes claim Alt+number for tab switching, so it’s the one to change if that bites.
- After the shortcut key — double-tap the shortcut key, then press 1 through 9. Nothing else uses it, at the cost of one extra keystroke. In this mode the bare numbers belong to the strip, so the toolbar’s tools rely on the Ctrl+number chord above.
Either way there’s no slot for suggestion “10”: only the first nine entries in the strip are reachable by number.
WM KeyboardTypingPhysical keyboardShow the suggestion numbersIn Alt + number mode the strip is the one surface that wears its badges all the time — a small Alt+1, Alt+2, Alt+3 under the words, for as long as a physical keyboard is attached. That’s on by default and can be turned off if you’d rather have the clean strip. After the shortcut key has no equivalent: a bare 1 does nothing until the leader is pressed, so its numbers only appear once it is.
The numbers count slots, left to right, not the engine’s ranking. That matters if you use WM KeyboardTypingBest suggestion in the middle, which draws the runner-up first: the strip still reads 1, 2, 3 across, and Alt+1 commits the leftmost word you can see rather than the one the engine ranked first.
Options
Section titled “Options”| Setting | Default |
|---|---|
| Process hardware keys | On |
| Tool shortcuts | On |
| Shortcut key | Double-tap Ctrl |
| Ctrl + number opens a toolbar tool | On |
| Write the modifier names | On |
| Time to press a key | 8.0s |
| Arrow keys move a highlight | On |
| Esc closes the tool | On |
| Number keys pick suggestions | Alt + number |
| Show the suggestion numbers | On |
| macOS shortcuts | Off |
| Ctrl+Space changes the language | On |
| Show the keyboard for shortcuts | On |
Show the keyboard for shortcuts covers the case where you have a physical keyboard attached and no reason for the on-screen keyboard to be up: pressing a shortcut that opens a tool brings it up anyway, since the tool needs somewhere to draw, and it’s hidden again once you close the tool.
A related setting lives elsewhere: WM KeyboardAppearanceOnly toolbar with hardware keyboard hides the key grid entirely (leaving just the suggestion strip and toolbar) whenever a physical keyboard is attached, since you’re typing on the physical keys anyway. It’s off by default and doesn’t affect anything documented on this page.
Details and edge cases
Section titled “Details and edge cases”- The tool picker waits eight seconds for a key before it disarms itself if you don’t press one. Adjustable from one to thirty under Time to press a key.
- The badges never resize the keyboard. They’re drawn over the buttons rather than added beside them, so double-tapping Ctrl can’t shove the app’s text out from under your hands.
- Toolbar badges only show when the toolbar does. With suggestions occupying the strip instead, Ctrl+number still opens the same tools — there’s just nothing on screen to label. The cheat sheet lists them either way.
- Reserved chords still work as a shortcut key, with a warning. If you capture a chord like Ctrl+C, Ctrl+V, Ctrl+S or Ctrl+Tab as your shortcut key, the picker warns you it’s “usually the app’s own shortcut” but still lets you use it; it’s a nudge, not a block.
- Process hardware keys only governs typed characters. Turning it off stops physical keys from running through autocorrect and suggestions, but Tool shortcuts, panel navigation and Esc keep working regardless; none of them touch typed text, so none of them are governed by that toggle.
- No edition split. Everything on this page works the same on both the full and lite builds.
- Presence detection is automatic. The keyboard notices a physical keyboard is attached (and detaches) through the system’s own configuration, which is also what drives the separate “Only toolbar with hardware keyboard” setting above.
For the complete shortcut and cheat-sheet reference in one table, see Hardware shortcuts. For the toolbar setting that hides the key grid when a keyboard is attached, see Appearance settings.
