Skip to content
WM KeyboardWM Keyboard
Accessibility

Layout & size

Every row on the Layout & size screen, covering the number row, key and row sizing, per-screen overrides, one-handed, split & floating, and the bottom-row emoji keys.

The Layout & size screen collects every physical dimension WM Keyboard’s keys can take: a digit row, key and row heights, per-screen-shape overrides, and one-handed, split and floating modes. The groups below appear in the same order they do on screen. This page is the field reference. The linked guides carry the reasoning and walk through each group in more depth.

The Layout & size screen, opening on the Number row and Numerals groups.
The Layout & size screen, opening on the Number row and Numerals groups.
The Layout & size screen, opening on Your layouts and the Number row group.

You can reach this screen from the home screen’s Layout & size tile, from Accessibility → Touch → Key size & spacing, or from the Split, Floating, and One-handed toolbar tools’ own Options panels, each of which has an All layout & size settings row.

WM KeyboardLayout & size

A small keyboard preview stays pinned under the title while you scroll. Size and position (with the per-screen overrides) and One-handed, split and floating are pages of their own; Your layouts, Number row, Symbols layer, Numerals and Bottom-row keys stay on the hub.

WM KeyboardLayout & sizeYour layouts

One toggle per layout you’ve made or installed yourself, each subtitled with the dictionary it types with, for example “Types with the English · QWERTY dictionary”. It’s your own layouts specifically: an edited copy of a shipped layout stays attached to its original language instead of showing here twice, and a secondary layout is left out too, since it can’t be switched on at all. Turning one on is gated on it validating; switching one off never is. On a fresh install, with nothing of your own yet, the group has no toggles.

A Key layouts row follows, opening WM KeyboardLayout & sizeKey layouts, documented in full on Custom layouts & the layout editor. Its subtitle reads “Make your own key grid, or start from a built-in one” before you’ve built anything, and “Edit, add and delete layouts” after. A Download more row closes the group, opening the layout add-on repositories.

WM KeyboardLayout & sizeNumber row
SettingControlRangeDefault
Number rowToggleOn / OffOn
Number row heightSlider32–100 dp42 dp (40 small tablet / 38 large)
Symbols on shiftToggleOn / OffOff
Number row in symbolsToggleOn / OffOn

Number row adds a dedicated 1–0 row above the letters, so digits don’t need a long-press. It’s on out of the box on every device, phones included. Turning it on drops the top row’s digit long-press alternate, which is redundant once the row exists. The three sub-settings only appear once Number row is on. Number row height sizes the digit row independently of the letter keys. Symbols on shift swaps the row to = \ < > [ ] { } | ~ while Shift is held, instead of showing digits. Number row in symbols keeps the digit row on the ?123 layer too, and turning it off shrinks the keyboard by a row there.

The tablet heights in the table are what you get until you touch the slider. Set it yourself and your value applies on every device. See On a tablet. If you want the digit row on some screen shapes but not others (landscape is the usual one), Per-screen sizing below has its own Number row toggle per shape.

See Number row and numerals for the full walkthrough.

WM KeyboardLayout & sizeSymbols layer
SettingControlOptionsDefault
Go back to the lettersToggleOn / OffOff
Characters that go backText field (shown when the toggle is on)Any characters!?.,;:

Go back to the letters returns the keyboard to the letter keys right after you type one of the listed characters on the ?123 layer, so a single full stop doesn’t strand you in the symbols. It’s the same idea as the emoji panel’s Return to keyboard after inserting. It’s off by default, because plenty of people open ?123 to type a run of punctuation.

Characters that go back is the list itself. Type the characters you want, with or without spaces between them. Duplicates and spaces are dropped on save, and an empty box falls back to ! ? . , ; :. Digits are deliberately out of that default, since typing “12” is exactly when you want to stay put.

Only single-character keys count, so a .com key or an emoticon key never triggers the return. Long-press alternates do, since they insert a single character too. Both symbol pages are covered, so a character typed on the second page returns to the letters the same way.

WM KeyboardLayout & sizeNumerals
SettingControlOptionsDefault
Type native digits inChoiceText fields / Everywhere / Display onlyText fields

Type native digits in controls where a language’s native digit glyphs actually get committed, not which glyphs it uses. That per-language picker (Auto, or a forced script like Arabic-Indic or Bengali) lives on each language’s own screen under Languages. Text fields, the default, keeps plain 0–9 in number, phone, date and time fields so they stay machine-readable, and types native digits everywhere else. Everywhere commits native digits in those fields too. Display only draws the native glyphs on the keys but always inserts 0–9.

WM KeyboardLayout & sizeSize and position
SettingControlRangeDefault
Key heightSlider32–100 dp48 dp (46 small tablet / 44 large)
Bottom row heightSlider0–96 dp0 dp (“Follow keys”)
Left paddingSlider0–30%0%
Right paddingSlider0–30%0%
Key spacingSlider0–200%100%
Bottom paddingSlider0–160 dp32 dp (Android 15+ with gesture navigation) / 8 dp (three-button navigation, or older)
Round top cornersSliderSquare, or 1–40 dpSquare
Round bottom cornersSliderSquare, or 1–40 dpSquare
Which corners (shown once either corner slider is above Square)Filter chipsTop left, Top right, Bottom left, Bottom rightAll four
Keyboard widthSlider50–100%100%
Keyboard position (shown only below 100% width)ChoiceLeft / Centre / RightCentre

These sliders set the everyday shape of the keyboard: how tall the keys and the space/enter row are, how much air sits around each key and along the edges, and whether the keyboard docks narrower than the full screen width. For the full breakdown of each one, including how they interact with one-handed mode and split, see Size, position & one-handed use.

Once you’ve moved anything in this group, a Reset size and position row appears at the bottom of it. It asks first, then puts every slider here back at once. Two sliders it reaches that don’t sit in this group come with them: Number row height from the top of this screen, and Key corner radius over on Appearance, which is sizing even though it doesn’t live here. The per-screen overrides below are left alone.

WM KeyboardLayout & sizeSize and positionPer screen

The Size & position values above are your portrait sizes, and the in-app caption calls them your “portrait (folded)” sizes. Three more screen shapes can each override any of them, plus the Number row toggle from the top of the screen, or scale the whole keyboard at once: Landscape, Portrait, unfolded, and Landscape, unfolded. A shape counts as “unfolded” by a live check on the screen’s smallest dimension (≥ 600 dp) rather than a fold-sensor read, so a tablet that never folds still counts. Each row reads “Follows portrait” until you set an override, and its own key height and width once you have. Tap a row and its editor unfolds in place:

FieldRangeFalls back to
Keyboard scale50–150%100%
Key height32–100 dpthis screen’s base Key height (48 dp); 33 dp on landscape
Number row height (only if Number row is on)32–100 dpbase Number row height (42 dp); 29 dp on landscape
Bottom padding0–160 dpbase Bottom padding
Keyboard width50–100%base Keyboard width (100%)
Font size0.7×–2.0×global Key label font size (1.0×)
Key spacing0–200%base Key spacing (100%)
Left padding0–30%base Left padding (0%)
Right padding0–30%base Right padding (0%)
Bottom row height0–96 dpbase Bottom row height (0, “Follow keys”)
Number rowOn / Offbase Number row (On); Off on landscape unless you set the base toggle yourself
Keyboard position (only if resolved width < 100%)Left / Centre / Rightbase Keyboard position

A Follow portrait again row appears at the bottom of the editor once any field is set, clearing the whole override back to “Follows portrait” in one tap. On landscape that returns the shape to its own defaults rather than to your portrait numbers.

A Per-screen sizing row expanded, with Keyboard scale and the other override sliders.
A Per-screen sizing row expanded, with Keyboard scale and the other override sliders.
A Per-screen sizing row expanded, with Keyboard scale and the other override sliders.

Keyboard scale has no portrait equivalent. It’s a whole-keyboard multiplier that only exists on these three override shapes. It earns its keep on a foldable, whose roomy inner display often wants a smaller keyboard than the cover screen. Font size here is the same field as Key label font size under Appearance settings. This screen doesn’t own it, but you can still give it a different value per screen shape from here. Number row is the one override that isn’t a number, and landscape is what it’s for: least room for a sixth row, most need for the keys under it.

Landscape is also the one shape that doesn’t fall back to portrait for the three fields marked above. A phone on its side has under half the height it has upright, so a portrait-sized board overflowed the window and had its bottom rows cut off; sideways starts from its own shorter numbers instead, and the toolbar is scaled to 70% to keep the tool circles smaller than the keys. See What landscape starts at. Setting a field here still wins over all of it.

WM KeyboardLayout & sizeOne-handed, split and floating
SettingControlRangeDefault
One-handed modeChoiceOff / Left / RightOff
Portrait · width (shown only when One-handed mode is not Off)Slider40–85%78%
Portrait · height (shown only when One-handed mode is not Off)Slider60–100%100%
Portrait · sideChoiceLeft / RightRight
Landscape · width (shown only when One-handed mode is not Off)Slider40–85%55%
Landscape · height (shown only when One-handed mode is not Off)Slider60–100%100%
Landscape · sideChoiceLeft / RightRight
Split keyboardToggleOn / OffOff
Split only on wide screens (shown only when Split keyboard is on)ToggleOn / OffOff
Split gap (shown only when Split keyboard is on)Slider5–40%12%
Floating keyboardToggleOn / OffOff
Floating keyboard width (shown only when Floating keyboard is on)Slider240–500 dp320 dp
Floating keyboard height (shown only when Floating keyboard is on)Slider60%–160%100%
Keep the keyboard on screenToggleOn / OffOff

One-handed mode tunes separately per orientation. The rail’s arrow inside the keyboard flips the side, and it remembers the answer here for whichever orientation you’re in. Split divides every row into left and right halves with a gap between them, and Split only on wide screens holds that back until you’re in landscape or on an unfolded screen, so rotating out of landscape doesn’t leave a portrait phone split in two. Floating detaches the keyboard into a movable, resizable panel. While it’s active it replaces the width, position and bottom-padding logic above, though split still works alongside it. Keep the keyboard on screen stops the keyboard from closing when a text field loses focus, so it stays up over screens with no field at all until you hide it yourself. See Keeping the keyboard on screen for what reaches the app and how to close it.

One-handed mode set to Right, with the Portrait width, height, and side sliders below it.
One-handed mode set to Right, with the Portrait width, height, and side sliders below it.
One-handed mode set to Right, with the Portrait width, height, and side sliders below it.

Full detail on all three (plus the floating panel’s drag pill and resize grip) is on Size, position & one-handed use.

WM KeyboardLayout & sizeBottom-row keys
SettingControlDefault
Comma key opens emojiToggleOff
Show the 🌐 keyToggleOn
Emoji key instead of 🌐ToggleOn
Swap the comma and 🌐 keysToggleOn
Keep the 🌐 key in one placeToggleOn
Ignore 🌐 right after typingSlider, Off or 50–1000 msOff
The Bottom-row keys group: Comma key opens emoji and Emoji key instead of the globe key.
The Bottom-row keys group: Comma key opens emoji and Emoji key instead of the globe key.
The Bottom-row keys group: Comma key opens emoji and Emoji key instead of the globe key.

Emoji key instead of 🌐 is on by default. The bottom-row 🌐 key opens the emoji panel instead of switching language, and language switching moves to a spacebar swipe (Language, by default). Comma key opens emoji takes over the comma key the same way, with comma demoted to a long-press alternate. Turning it on also removes the emoji tool from the toolbar, since the key is meant to replace it.

Swap the comma and 🌐 keys is on by default. Without it the bottom row reads ?123 · , · 🌐 · space · . · ⏎; with it the two keys either side of the spacebar trade places, so it reads ?123 · 🌐 · , · space · . · ⏎. It’s a straight positional swap and it runs after the emoji rewrites, so whichever of the two you turned into an emoji key travels with its slot. On the default settings that puts the emoji key in the outer position and the comma next to the spacebar. It applies to every layout, imported and custom ones included, and to the symbol layers too, so the row doesn’t reshuffle on the way into ?123.

Keep the 🌐 key in one place is on by default. Layouts don’t all agree on where the 🌐 key goes: many imported ones, most of the converted Keyman layouts among them, put it at the far left, straight after ?123, or after the spacebar. With this on, the key moves to the slot the built-in layouts use, so it sits under the same spot on the screen in every language you switch between. That slot is measured as a share of the row, not counted in keys: the key starts a quarter of the way along the row and is a tenth of it wide, or, with Swap the comma and 🌐 keys on, it starts at 15% with the comma after it. The keys before it get wider or narrower to fill the space up to it, the spacebar grows or shrinks to fit, and every other key keeps its width and its order. When nothing sits before the key, the key itself widens to reach its slot, so a thumb aimed at the usual place still lands on it. A row where the move would squeeze keys to under half their width, stretch them past two and a half times it, or leave the spacebar under a fifth of the row is left as it is, and so is a row with a key that spans two rows. The built-in layouts already have the key in its slot, so nothing about them changes. A second layout you open from a key is always drawn as its author made it, and so is the expanded tablet grid.

Show the 🌐 key is on by default. Turn it off and the key is gone from the bottom row of every layout, on the symbol layers too, and so is the emoji key that Emoji key instead of 🌐 puts in its place. The spacebar takes its width, so the row stays the same length. While the key is hidden, Emoji key instead of 🌐, Swap the comma and 🌐 keys and Keep the 🌐 key in one place have nothing to change and are greyed out. Language switching stays on the spacebar: a quick swipe does it by default. See Switching languages.

Ignore 🌐 right after typing is off by default. Set a time and a tap on 🌐 that comes sooner than that after a typed key (a letter, space, backspace or enter) does nothing, so a thumb that misses the comma or the spacebar mid-word no longer changes the language. Holding 🌐 still opens the picker. Greyed out while the key is hidden. See Switching languages.

See Switching languages and Opening the emoji panel for what each toggle changes in daily use.

  • Both emoji-key toggles sit out the expanded tablet grid. A tablet-width grid draws a real emoji key of its own, so applying either toggle there would give you two, and turning the globe into an emoji key would take language switching off the board entirely. On that grid the keyboard ignores both switches, whatever they say here.
  • Bottom padding goes a lot higher than it looks like it needs to. The slider runs to 160 dp because the inline Resize tool drives the same value, and dragging the keyboard well up the screen has to land somewhere.
  • Per-screen sizing has no “folded” shape. Portrait itself is the base folded size. “Unfolded” is decided live by screen width rather than a fold sensor, so it can flip mid-session on a foldable device.
  • “Type native digits in” is not the digit-glyph picker. Which glyphs a language’s digits use (Latin, Arabic-Indic, Bengali, Devanagari and so on) is set per language under Languages. This screen only controls where the resulting glyphs get committed.
  • Bottom row height’s 0 value reads as “Follow keys,” not “0 dp.” It’s the default, and it means the space/enter row matches the letter-key height exactly.
  • Bottom padding’s default depends on your Android version and navigation mode. It’s 32 dp on Android 15 and up with gesture navigation, where the IME window draws behind the gesture bar and the system’s hide-keyboard and switch-keyboard buttons, and 8 dp with three-button navigation or on older versions.
  • Per-screen overrides don’t reset one field at a time. Follow portrait again clears a whole shape instead. Characters that go back has no restore button either, since it’s a plain text field: empty it and the built-in !?.,;: comes back. Everything else on this screen has the usual per-setting restore button.
  • No edition differences. Every control on this screen behaves the same on the full and lite builds.
  • Size, position & one-handed use: the full guide to Size & position, per-screen sizing, one-handed mode, split and floating, with screenshots of each in action.
  • Key basics: the Number row and Numerals groups, explained alongside the rest of everyday typing.
  • Switching languages and Opening the emoji panel: what the two Bottom-row keys toggles change.
  • Appearance settings: Key label font size, the same field this screen’s per-screen Font size override adjusts.
  • Accessibility: the Key size & spacing shortcut that also opens this screen, plus its own touch and vision accommodations.