Size, position & one-handed use
Resize, float, and reposition the keyboard, per orientation and fold state.
Every height, width and gap on WM Keyboard is a slider rather than a fixed number. Shrink the keyboard toward one thumb, split it down the middle for a wide screen, or detach it into a floating panel. Sizing you set for portrait carries to the unfolded shapes by default, landscape starts from its own shorter board, and all three can override any of it, right down to scaling the whole keyboard at once.


Sizing the keys
Section titled “Sizing the keys”Key height sets the height of every key row and, with it, the overall input height. It’s a slider from 32dp to 100dp, default 48dp. The emoji, clipboard and snippet panels scale with this value too, so a taller keyboard means taller panels.
Bottom row height gives the spacebar and Enter row its own height, independent of the letter rows: a slider from 0dp to 96dp. At 0, the default, it shows “Follow keys” and matches the letter rows. Raise it for an easier-to-hit spacebar without growing the whole keyboard. A custom layout that sets its own row heights ignores this slider.
Key spacing adjusts the gap around every key, from 0% to 200%, default 100%. Higher spreads the keys apart, and makes the keyboard a little taller, since the gap is part of each row. Lower packs them tighter.
While WM KeyboardLayout & sizeNumber rowNumber row is on (its own group at the top of this same screen, above Size & position), it has its own Number row height slider too: 32dp to 100dp, default 42dp, independent of the letter keys.
The size of the labels printed on the keys is a separate slider, Key label font size, under WM KeyboardAppearanceKey label font size: 0.7× to 2.0×, default 1.0×. It isn’t part of this settings group, but the per-screen sizing below can still override it per screen shape.
Narrowing and repositioning it
Section titled “Narrowing and repositioning it”Keyboard width shrinks the keyboard horizontally instead of spanning the full screen, from 50% to 100%, default 100%. Below 100%, a Keyboard position choice appears (Left, Centre, or Right, with Centre the default) to pick which edge the narrowed keyboard hugs. This is a permanent dock. The slider’s own info text calls one-handed mode “a quick preset” that “replaces this value while it is on”, and it leaves the stored width and position alone.
Left padding and Right padding narrow the keys toward the middle for thumb reach, without docking to one side the way one-handed mode does. Each is a slider from 0% to 30%, default 0%, and both stack on top of keyboard width: the keyboard ends up at width × (1 − left − right) of the screen.
Two sliders rather than one so the margins don’t have to match. Set them equal for an even margin; set only the left one and the keys slide toward your right thumb without the keyboard docking to that edge.
Each padding is claimed at its own edge before Keyboard position gets a say, so a margin you asked for is there whichever edge the keyboard hugs. Position then distributes whatever space the width slider left over on top of it. On Centre, equal paddings give exactly the even margin they always did.
Bottom padding raises the whole keyboard away from the bottom edge and the gesture navigation bar, from 0dp to 160dp. Until you move it, the keyboard picks the amount itself: 32dp on Android 15 and up with gesture navigation, where the keyboard reaches down to the thin gesture handle, and 8dp with three-button navigation or on older versions, where the bar below is already tall enough to keep your thumb off the edge. Raise it if the bottom row feels cramped against the screen edge, or if you keep triggering system navigation by mistake. The slider runs so high because the inline Resize tool moves the same value, and that can push the keyboard a long way up the screen.
Round top corners and Round bottom corners cut rounded corners out of the docked keyboard, from square (the default) up to 40dp, and the app shows through the cut. The top and bottom are set apart, and Which corners, shown once either one is round, picks which of the four corners they apply to. All four by default, so rounding only the top two means leaving the bottom at Square. Round bottom corners suit gesture navigation and a phone whose screen corners are round too. With the older three-button navigation bar, the bar sits below the keyboard and the bottom corners open onto the app above it. The floating keyboard and the television card have round corners of their own and ignore these.
Sizing each screen shape
Section titled “Sizing each screen shape”

Portrait is the base size: everything in the two sections above. Three other screen shapes can each override any of it, namely Landscape, Portrait, unfolded and Landscape, unfolded. Whatever you leave untouched on an override follows portrait, so tuning one shape never means setting up the rest.
Landscape is the one exception, and it starts shorter rather than following portrait. A phone turned sideways keeps its width but has less than half the height, so a portrait-sized board would take the whole screen. See what landscape starts at below.
“Unfolded” isn’t read from a fold sensor. It’s decided by the screen’s smallest dimension being at least 600dp, checked live as the configuration changes. That deliberately reads a phone turned sideways as still “not unfolded”, since it’s wide but still a phone. A genuinely large screen counts as “unfolded” however it’s held, whether that’s an opened foldable’s inner display or a tablet that never folded at all. There’s no separate “folded” state in the code. Portrait’s values are what a folded or ordinary phone always used, which is why the settings screen’s own caption calls portrait your “folded” size.
Tap a shape’s row to expand its editor:
- Keyboard scale, a whole-keyboard multiplier from 50% to 150%. It exists only on these three override shapes; portrait has no base scale of its own. It multiplies key height and number row height together, so a foldable’s roomy inner display can run a smaller keyboard than its cover screen, or the reverse, without re-dialing each height by hand.
- Key height, Number row height (if the number row is on), Bottom padding, Keyboard width, Font size, Key spacing, Left padding, Right padding, Bottom row height, and, when width is under 100%, Keyboard position. Same ranges as their portrait counterparts above.
- Number row, the one override that isn’t a number at all. Landscape is what it’s there for: it has the least room for a sixth row and the most need for the keys underneath it, which is why sideways starts without it unless you’ve set the digit row by hand.
- Follow portrait again, which appears only once a shape has at least one override set. It clears every override for that shape in one tap. On landscape that returns it to the landscape defaults below, not to your portrait numbers.
Everything in one-handed, split and floating below is global instead. It applies the same whichever screen shape you’re on.
What landscape starts at
Section titled “What landscape starts at”A phone turned sideways has roughly 360dp of height where portrait has 750dp. Left to follow portrait, the board came out taller than the window it had to fit in, and the bottom rows — the shift row and the spacebar — were drawn past the bottom of the screen and cut off. So landscape starts from its own numbers instead, measured against what Gboard does on the same screen:
| Portrait | Landscape | |
|---|---|---|
| Key height | 48dp | 33dp |
| Number row height | 42dp | 29dp |
| Number row | On | Off, unless you set it yourself |
| Toolbar height and tool width | 44dp / 38dp | 70% of whatever you’ve set |
That lands the whole board at a little over half the screen, leaving the app you’re typing into the rest. The digits aren’t lost with the row switched off: they stay as the small hint labels on the top letter row, and a long press still types them.
These are defaults, not limits. Anything you set for landscape in the per-screen editor above wins over all of them, and a theme that authors its own key height wins over them too. Turning the number row on by hand anywhere keeps it on sideways as well.
The toolbar is scaled rather than replaced, because it has no per-screen override of its own to escape to: a tool width you picked survives the rotation in proportion. Without it the tool circles stayed at their portrait size and ended up drawn larger than the keys underneath them.
A tablet in landscape isn’t affected by any of this. “Unfolded” is decided by the screen’s smallest dimension, so a tablet on its side is still at least 600dp tall and has the height to spare.
On a tablet
Section titled “On a tablet”A tablet gets a wider keyboard automatically, with nothing to set up. The screen’s smallest dimension decides which one you get, the same measurement per-screen sizing uses:
- under 600dp is a phone, and nothing below applies;
- 600dp to 767dp is a small tablet, which is also where an unfolded foldable lands;
- 768dp and up is a large tablet.
On either tablet size the letter rows gain a column on each side. That fills the width with keys instead of stretching the letters across it, and leaves the alphabet sitting in the middle where two hands reach it:
- Tab and \ flank the top letter row;
- Caps and Enter flank the home row, so Enter is under your right little finger rather than at the bottom corner;
- the number row gains a ` and takes over Backspace, which frees the shift row’s right end for a second Shift;
- the comma moves up beside the letters, and a real emoji key appears next to ?123.
A large tablet gets three more. ← and → sit next to the spacebar, a second ?123 lands at the right end so you don’t have to reach back across ten inches for it, and the period joins the comma up on the letter rows. A small tablet keeps the period on the bottom row, because a 7-inch tablet is still held and still thumb-typed.
Two settings also start from different defaults on a tablet, and only until you touch them:
- key height starts at 44dp (large) or 46dp (small) instead of 48dp, and number row height at 38dp or 40dp instead of 42dp, so six rows on a tablet take a smaller share of the screen than five do on a phone;
- the toolbar starts with seven pinned tools (large) or five (small) instead of three.
Change either of them and your value sticks on every device, tablet included.
The WM KeyboardLayout & sizeNumber rowNumber row isn’t one of them any more. It’s on by default everywhere now, phones included, so there’s nothing left for a tablet to override.
The extra keys are added to whatever layout you’re using, so every shipped language gets them, and so does anything you build in the layout editor. Layouts that aren’t ordinary alphabetic grids are left alone: the Japanese flick pads, braille, morse, the Chinese shape and phonetic pads, and a handful of scripts whose grids have no shift key. If you’d rather a particular layout was left alone too, the editor has an Add tablet keys automatically switch for it.
One-handed mode
Section titled “One-handed mode”One-handed mode shrinks the keyboard toward one edge for reach with a single thumb: Off (the default), Left, or Right. Unlike the per-shape sizing above, it’s tuned separately per orientation, Portrait and Landscape, rather than per fold state. A one-handed keyboard cares about which way you’re holding the phone, not whether it’s unfolded.
Each orientation gets its own three controls:
- Width is the keyboard’s share of the screen while one-handed is active, 40% to 85%. The default is 78% in portrait and 55% in landscape. Landscape starts narrower because a landscape keyboard is already very wide, so 78% there would barely help.
- Height scales the key height down for reach, 60% to 100%, default 100% in both orientations.
- Side is which edge it docks to, Left or Right, default Right in both orientations.


On the keyboard itself, a narrow rail fills the space one-handed mode leaves behind. It carries two buttons: an arrow that flips the keyboard to the other edge (live, and remembered as that orientation’s new default side) and a fullscreen icon that exits one-handed mode entirely.
Pin the One-handed tool to your toolbar and tapping it toggles one-handed on using that orientation’s preferred side, or off if it’s already on. It has no default letter binding on a physical keyboard, but the leader key still reaches it. Bind it a letter in Tool shortcuts list, or press T for the toolbox if you’ve pinned it there. See Hardware keyboards.
Splitting the keyboard in half
Section titled “Splitting the keyboard in half”Split keyboard divides every row down the middle with a gap between the halves, so your thumbs travel less on a wide screen. It’s most useful on tablets, foldables, and phones turned to landscape. It’s off by default, and turning it on reveals two more controls. Split gap runs from 5% to 40% of the keyboard’s width, default 12%; a bigger gap pushes the halves further toward the edges but narrows each key. The spacebar splits between the two halves along with everything else, and, like one-handed mode, the setting is global rather than tied to a screen shape.
Split only on wide screens is the second one, off by default. Split is a single global switch, so turning it on in landscape leaves the keyboard split after you rotate back, where half a phone-width keyboard is close to unusable. Turn this on and the split only happens in landscape or on an unfolded screen. Portrait on an ordinary phone stays whole.


Floating the keyboard
Section titled “Floating the keyboard”

Floating keyboard detaches the keyboard from the bottom of the screen into a small, movable panel that hovers over whatever app is open. It’s off by default. Turn it on and two sliders appear: Floating keyboard width, 240dp to 500dp, default 320dp, and Floating keyboard height, 60% to 160% of the keyboard’s normal height, default 100%. The resize grip on the panel drives the same two values, and shares the 240dp floor and the 60–160% height range. It doesn’t share the width ceiling: see the edge case below. A Reset the floating panel row appears below the sliders once you’ve moved or resized the panel, and puts its size and position back.
The panel’s handle bar carries three controls, left to right:
- Dock button, a fullscreen icon that returns the keyboard to its normal, docked position.
- Drag pill. Dragging anywhere across the middle of the handle bar moves the panel, not just the small pill drawn there. Its position is saved as a fraction of the free space around it rather than as a pixel coordinate, so it survives rotation. By default that’s centered horizontally and pinned to the bottom of the available space. The panel stays where you let go of it.
- Resize grip, drawn as two short diagonal lines rather than a diagonal-arrows icon, deliberately, so it doesn’t read as another fullscreen button. Dragging it resizes width and height together: width tracks your finger directly, height tracks it inverted, because the grip sits on the panel’s top bar. Drag up to grow the panel and down to shrink it. The panel’s top-left corner stays put while you resize, so the panel grows and shrinks from there instead of wandering across the screen.
Floating mode replaces the normal layout logic rather than combining with it. While it’s on:
- The one-handed rail and edge-docking don’t render. Your one-handed setting is untouched but has nothing to apply to.
- Keyboard width, keyboard position and bottom padding from the sections above don’t apply either. The panel’s size and position come entirely from its own width slider, drag position and resize grip.
- Split keyboard still works while floating. The two features aren’t mutually exclusive, since split rendering happens inside the same keyboard body the floating panel wraps.
Touches outside the panel pass straight through to the app underneath, and the keyboard forces full-screen (extract) mode off for as long as it’s floating. Pin the Floating tool to your toolbar and tapping it toggles floating on or off directly.
Keeping the keyboard on screen
Section titled “Keeping the keyboard on screen”Keep the keyboard on screen stops the keyboard from closing when the text field goes away. Off by default. With it on, the keyboard stays up after a field loses focus, over screens that have no text field at all, and across app switches, until you close it yourself. It works the same docked or floating: the switch decides whether the keyboard stays, not where it sits.
The point of it is apps that read keys without a text field. A notes app that asks you to press a hotkey combination, a terminal, a game with keyboard controls: normally the keyboard vanishes the moment you leave the text box, so there’s no way to send Ctrl+Shift+P from the screen. With this on, the keyboard stays and every key, modifier chords included, reaches the app as a key event. Letters and backspace arrive as key presses too, so plain typing into a fieldless screen works.
Closing it is deliberate rather than automatic. The Hide keyboard tool, a swipe down on the toolbar, and the Back button all put it away, and it stays away until you next tap a text field, at which point it comes up and sticks again. The keyboard never follows you onto the lock screen. An app that forces the keyboard closed every time it appears gets a few tries and then wins, so a badly behaved app can’t leave the keyboard flickering.
Pin the Keep on screen tool to your toolbar to toggle this directly. That tool and this row write the same setting.
Options
Section titled “Options”| Setting | Default |
|---|---|
| Key height | 48 dp |
| Bottom row height | Follow keys (0) |
| Left padding | 0% |
| Right padding | 0% |
| Key spacing | 100% |
| Bottom padding | 32 dp (Android 15+ with gesture navigation) / 8 dp (three-button navigation, or older) |
| Round top corners | Square (0 dp) |
| Round bottom corners | Square (0 dp) |
| Which corners | All four |
| Keyboard width | 100% |
| Keyboard position | Centre |
| Keyboard scale (per screen shape) | 100% |
| Key height (landscape) | 33 dp |
| Number row height (landscape) | 29 dp |
| Number row (landscape) | Off |
| One-handed mode | Off |
| One-handed width | 78% portrait / 55% landscape |
| One-handed height | 100% |
| One-handed side | Right |
| Split keyboard | Off |
| Split only on wide screens | Off |
| Split gap | 12% |
| Floating keyboard | Off |
| Floating keyboard width | 320 dp |
| Floating keyboard height | 100% |
| Keep the keyboard on screen | Off |
Related but not part of this settings screen: Key label font size lives under Appearance settings. The Number row toggle itself, as opposed to its height slider above, lives in its own group at the top of this same Layout & size screen.
Accessibility settings has its own Key size and spacing shortcut that opens this exact screen. See Accessibility if you got here looking for bigger, easier-to-hit keys rather than a specific size.
Details & edge cases
Section titled “Details & edge cases”- Keyboard scale has no portrait equivalent. It exists only on the three override screen shapes. Portrait is sized entirely by its own key-height and number-row-height sliders, with no multiplier on top.
- Landscape’s defaults ignore your portrait key height, deliberately. A landscape phone is short whatever you like upright, so carrying a 64dp portrait key across would put the board back through the bottom of the window. The digit row is the one that does carry: it’s a row you asked for rather than a size the screen dictates.
- The key preview bubble gives way to the keys. The empty band the keyboard holds above itself for a top-row preview is taken out of the screen’s leftover space, never out of the board. On a screen too short for both, the board wins and the bubble gets whatever is left.
- No full-screen editor on a tablet or unfolded foldable. Android’s default gives a landscape keyboard a full-screen text box above it whenever the app doesn’t opt out, which on a big screen covers the app for nothing. WM Keyboard keeps that box to phones in landscape, like Gboard does; a floating keyboard never gets it at all.
- “Unfolded” is a screen-size check, not a fold-sensor read. Any device with a smallest dimension of 600dp or more counts, a tablet that never folds included. The label describes what the screen currently looks like, not the hardware.
- One-handed mode’s width setting is a live override, not a rewrite. Turning it on temporarily overrides the keyboard-width and position settings while active. Turning it off returns to whatever those were set to.
- A very wide screen can let the floating panel’s resize grip briefly exceed 500dp mid-drag. It snaps back to the 500dp maximum once you release it.
- No edition split. Every setting on this page (sizing, one-handed, split and floating) works identically on the full and lite builds.
For haptics and sound on each keystroke, see Sound & vibration. For the physical-keyboard leader key that can toggle one-handed, split and floating without touching the screen, see Hardware keyboards.
