# WM Keyboard > A modern, privacy-first Android keyboard โ€” offline intelligence, 843 languages, themes, tools and an addon ecosystem. WM Keyboard is a free, open-source (MIT) Android keyboard. Prediction, autocorrect, glide typing and every dictionary run on the device; the app ships no analytics, and typing never reaches a network. This is its documentation. Each link below is the Markdown copy of a page; fetch it for the detail behind its one-line summary, and cite the page itself, which is the same address without `.md` (`/typing/glide-typing.md` is `/typing/glide-typing/`). ## Start here - [Documentation home](https://wmkeyboard.pages.dev/index.md): what the keyboard is, and the feature tour. - [Full text of every page](https://wmkeyboard.pages.dev/llms-full.txt): this documentation as one plain-text file. - [Search the documentation](https://wmkeyboard.pages.dev/api/docs/search?q=import+rime+dictionary): `GET /api/docs/search?q=` answers with the best-matching sections as JSON, each with its page URL and text. Described in [OpenAPI](https://wmkeyboard.pages.dev/openapi.json). - [MCP server](https://wmkeyboard.pages.dev/mcp): the same search and page reading as Model Context Protocol tools (Streamable HTTP, no sign-in). Setup for each assistant: [Using the docs with AI](https://wmkeyboard.pages.dev/reference/ai-access.md). ## Getting started - [Which build you have](https://wmkeyboard.pages.dev/start/editions.md): The standard, offline and F-Droid builds, what the F-Droid build leaves out, and how to tell which one you have. - [FAQ](https://wmkeyboard.pages.dev/start/faq.md): Quick answers to the questions everyone asks first. - [Installation](https://wmkeyboard.pages.dev/start/installation.md): Install from Google Play or F-Droid, download the standard or offline APK from GitHub, or build from source, and install it on your device. - [Migrating from another keyboard](https://wmkeyboard.pages.dev/start/migrating.md): Coming from Gboard, SwiftKey or FUTO? Feature equivalents and what to set up first. - [Enable the keyboard](https://wmkeyboard.pages.dev/start/setup.md): Turn WM Keyboard on in system settings and make it your active input method. - [Supporters](https://wmkeyboard.pages.dev/start/supporters.md): The people who sponsor WM Keyboard on SupportKori, one-off or monthly, or tipped through Google Play, credited by name. - [A two-minute tour](https://wmkeyboard.pages.dev/start/tour.md): The suggestion strip, toolbar, emoji, tools and settings: where everything lives. ## Typing - [Keys & typing basics](https://wmkeyboard.pages.dev/typing/basics.md): Key presses, long-press popups, shift behavior, the number row and key previews. - [Sound & vibration](https://wmkeyboard.pages.dev/typing/feedback.md): Key sounds, haptics, and how to tune or silence them. - [The keyboard adapts to the field](https://wmkeyboard.pages.dev/typing/field-adaptation.md): Email fields get @, URL fields get / on the comma's long press, and password fields get privacy automatically. - [Gestures](https://wmkeyboard.pages.dev/typing/gestures.md): Spacebar cursor and numpad swipes, swipe-down-to-hide, the hint flick, backspace word-delete, and volume-key cursor control. - [Glide typing](https://wmkeyboard.pages.dev/typing/glide-typing.md): Swipe across the keys to write whole words, with live preview and alternates. - [Hardware keyboards](https://wmkeyboard.pages.dev/typing/hardware-keyboard.md): Physical keyboards route through the same engine: autocorrect, suggestions and tools included. - [Modes & the symbol row](https://wmkeyboard.pages.dev/typing/modes.md): Letters, symbols, numbers: how modes work and how the symbol row is arranged. - [Power saving](https://wmkeyboard.pages.dev/typing/power-saving.md): A lighter keyboard when the battery is low: what turns off and when. - [Size, position & one-handed use](https://wmkeyboard.pages.dev/typing/size-position.md): Resize, float, and reposition the keyboard, per orientation and fold state. - [Android TV and Google TV](https://wmkeyboard.pages.dev/typing/television.md): Typing with a remote: the D-pad ring over the keys, and what a television changes on its own. - [Words on the keys](https://wmkeyboard.pages.dev/typing/words-on-the-keys.md): A predicted word floats over the key that would reach it; flick up to write the whole word. ## Languages - [Languages overview](https://wmkeyboard.pages.dev/languages/overview.md): 1,555 languages, each enabled independently with its own layouts, numerals, and dictionary. - [T9 & Compact QWERTY](https://wmkeyboard.pages.dev/languages/ambiguous.md): Layouts that put more than one letter on a key and let the prediction engine work out which one you meant: T9 in 446 languages and Compact QWERTY, with glide typing on both. - [Bangla](https://wmkeyboard.pages.dev/languages/bengali.md): First-class Bangla: Avro-style phonetic typing, Khipro Classic and Dark, eight fixed layouts, and the spellings phonetic rules can't reach. - [Burmese](https://wmkeyboard.pages.dev/languages/burmese.md): Type Burmese in Unicode, write Zawgyi for the apps and friends that still use it, and convert Zawgyi text you paste, select or find in a text box. - [Chinese, Japanese & Korean](https://wmkeyboard.pages.dev/languages/cjk.md): Composer-based CJK input with a candidate bar and on-device learning. - [Custom layouts & the layout editor](https://wmkeyboard.pages.dev/languages/custom-layouts.md): Edit any keyboard layout visually, or as raw JSON, and share the result. - [Downloadable dictionaries](https://wmkeyboard.pages.dev/languages/dictionaries.md): Wordlists for 430 languages, in size tiers, downloaded on demand. - [Downloads & mobile data](https://wmkeyboard.pages.dev/languages/downloads.md): What a language downloads, when it downloads, and which downloads ask before spending your mobile data. - [Fancy text](https://wmkeyboard.pages.dev/languages/fancy-text.md): ๐”‰๐”ž๐”ซ๐” ๐”ถ Unicode styles on one keyboard: pick a style from the strip, and what you see on the keys is what you type. - [Hindi](https://wmkeyboard.pages.dev/languages/hindi.md): Type Hindi the way you text it: Latin letters in, Devanagari out. Plus InScript and Remington for typing the script directly. - [Keyman layouts](https://wmkeyboard.pages.dev/languages/keyman.md): 862 key grids converted from the Keyman keyboards repository, covering languages nothing else on Android has a layout for. - [Music, braille & Morse](https://wmkeyboard.pages.dev/languages/notation.md): Four notation systems that live in the language catalogue but aren't languages: musical notation, chorded braille, Morse code, and IPA. - [Phonetic typing in more languages](https://wmkeyboard.pages.dev/languages/phonetic.md): Roman letters in, native script out, for Marathi, Gujarati, Punjabi, Odia, Assamese, Tamil, Telugu, Kannada, Malayalam, Persian, Arabic, Greek and Tibetan. - [Switching languages](https://wmkeyboard.pages.dev/languages/switching.md): Four ways to switch: spacebar swipe, hold-drag picker (list or carousel), globe key, system switcher. - [Urdu](https://wmkeyboard.pages.dev/languages/urdu.md): Type Urdu the way you text it: roman letters in, Urdu script out. Plus the Urdu-lettered keyboards for typing the script directly. - [Vietnamese](https://wmkeyboard.pages.dev/languages/vietnamese.md): Type Vietnamese with Telex or VNI: plain keys in, accented letters and tones out. How the tone lands, how to take one back, and how English words survive. ## Suggestions & correction - [Autocorrect](https://wmkeyboard.pages.dev/smart/autocorrect.md): Confidence-gated corrections that know when not to fire. - [Password manager chips & smart replies](https://wmkeyboard.pages.dev/smart/autofill.md): Saved logins from your password manager, and the system's suggested replies, both shown as tappable chips in the suggestion strip. - [Suggestion blacklist](https://wmkeyboard.pages.dev/smart/blacklist.md): Words the keyboard must never suggest, enforced across every suggestion path. - [Smart chips](https://wmkeyboard.pages.dev/smart/chips.md): Inline answers above the keys: calculations, conversions, and useful bits pulled from your clipboard. - [Contact-aware typing](https://wmkeyboard.pages.dev/smart/contacts.md): Your contacts' names and emails, suggested where they help, never uploaded. - [Grammar check](https://wmkeyboard.pages.dev/smart/grammar.md): Grammar checking with Harper on the phone, GiellaLT's checkers for the Sรกmi languages and Faroese, or LanguageTool on a server for more than 30 languages. - [Mixed-language typing](https://wmkeyboard.pages.dev/smart/mixed-language.md): The keyboard reads which language the message in front of you is written in, and leans suggestions and autocorrect that way until you switch back. - [One-time codes](https://wmkeyboard.pages.dev/smart/one-time-codes.md): A verification code arrives in a notification, and a chip above the keys types it. Off by default, and it needs notification access. - [Personal dictionary](https://wmkeyboard.pages.dev/smart/personal-dictionary.md): Words the keyboard learns from you, and full control over them. - [Search by meaning](https://wmkeyboard.pages.dev/smart/search-by-meaning.md): Find clips, notes, snippets, emoji, your own stickers and your photos by what your words mean, in any language, with a model that runs on the phone. - [Selection actions](https://wmkeyboard.pages.dev/smart/selection-actions.md): Select text and the keyboard offers what to do with it: edit it, reformat it, convert it, translate it, look it up, or hand it to another app. On the keyboard's bar, or from any app's selection menu. - [System spell checker](https://wmkeyboard.pages.dev/smart/spell-checker.md): WM Keyboard as your Android spell-check service, in every app. - [Suggestions & prediction](https://wmkeyboard.pages.dev/smart/suggestions.md): How the suggestion strip picks the words it offers you, and how it learns the ones that are yours. ## Emoji & expression - [Emoji customization](https://wmkeyboard.pages.dev/emoji/customization.md): Emoji fonts, keyword language packs, predictions and the emoji row. - [GIFs](https://wmkeyboard.pages.dev/emoji/gifs.md): Search GIFs from KLIPY and GIPHY and send them, with a copy-to-clipboard fallback when an app won't take them directly. - [Kaomoji & text art](https://wmkeyboard.pages.dev/emoji/kaomoji.md): A kaomoji tab with tag tabs, your own faces, favourites, search, suggestions and Emotic import (ใƒŽโ—•ใƒฎโ—•)ใƒŽ*:๏ฝฅ๏พŸโœง - [Emoji mixes](https://wmkeyboard.pages.dev/emoji/mixes.md): Put two emoji together as one sticker, from a source you add: over the emoji panel, on the suggestion strip, and in the Mixes panel. - [Emoji picker & search](https://wmkeyboard.pages.dev/emoji/picker.md): Semantic emoji search in your language, skin tones and dual-tone pairs, and favourites and recents in the emoji panel. - [Sticker generator](https://wmkeyboard.pages.dev/emoji/sticker-generator.md): Describe a sticker and the phone draws it offline, or an image service you pick does: the engines, the phone's models, prompts in any language, the safety filter, and importing your own model. - [Stickers](https://wmkeyboard.pages.dev/emoji/stickers.md): Sticker search, custom packs, stickers offered as you type, and saving stickers straight from the keyboard. ## Tools - [The toolbar](https://wmkeyboard.pages.dev/tools/overview.md): One row, many tools: how the toolbar works and how to make it yours. - [AI tools](https://wmkeyboard.pages.dev/tools/ai.md): A local LLM running on your device, or bring your own API key: your choice. - [AI chat](https://wmkeyboard.pages.dev/tools/ai-chat.md): A full back-and-forth conversation with whichever model you set up, on the keyboard's AI panel or in the settings app, as one shared list of chats. - [AI memory](https://wmkeyboard.pages.dev/tools/ai-memory.md): Short facts about you that the AI saves in a chat and uses again in later chats and AI actions. You can read, edit and delete every one, and they stay on your phone. - [AI reply](https://wmkeyboard.pages.dev/tools/ai-reply.md): Draft an answer to a message somebody sent you: paste it, type it, or pick a screenshot of the chat, then choose a tone. - [App launcher](https://wmkeyboard.pages.dev/tools/app-launcher.md): Open any app, or a specific screen inside one, straight from the keyboard. Full screen, in a floating window, in split screen, or two at once as a pair. - [Offline voice (Asr4All)](https://wmkeyboard.pages.dev/tools/asr4all.md): English dictation on your phone that writes the words while you speak, with punctuation and capitals. - [Calendar](https://wmkeyboard.pages.dev/tools/calendar.md): A month view of your device calendar where you add, change and delete events without leaving the keyboard, with up to two of eight non-Gregorian calendars alongside Gregorian. - [Camera tool](https://wmkeyboard.pages.dev/tools/camera.md): A viewfinder inside the keyboard for quick photo capture and insertion. - [Clipboard manager](https://wmkeyboard.pages.dev/tools/clipboard.md): History, pinning, search and rich media, with password hygiene built in. - [Clock](https://wmkeyboard.pages.dev/tools/clock.md): World clocks, alarms, timers, a stopwatch, a meeting planner, date maths and a history, in one keyboard tool that also types any time in the form you need. - [File manager](https://wmkeyboard.pages.dev/tools/files.md): Pick a file for a tool without leaving the app you are typing in, and rename, copy, move or delete files while you are there. - [Find & replace](https://wmkeyboard.pages.dev/tools/find-replace.md): Search the text you are writing and replace what you find, with match case, whole words, regular expressions and your recent searches. - [Gallery](https://wmkeyboard.pages.dev/tools/gallery.md): Your photos and videos inside the keyboard: albums, multi-select, a full-screen viewer, a photo editor, and a send that hands the app only a copy. - [Handwriting](https://wmkeyboard.pages.dev/tools/handwriting.md): Write with your finger or stylus, and on-device recognition turns the ink into text. - [Smart home](https://wmkeyboard.pages.dev/tools/home-assistant.md): Your home from the keyboard: Home Assistant, Google Home, SmartThings, a Philips Hue bridge, openHAB, Smart Life (Tuya) or SwitchBot as rooms of live tiles for lights, blinds, thermostats, media, locks and sensors, with a typed command bar for Home Assistant's Assist. - [Instruments](https://wmkeyboard.pages.dev/tools/instruments.md): Flashlight, compass, bubble level, moon phase, and weather: glanceable tools between sentences. - [KDE Connect](https://wmkeyboard.pages.dev/tools/kde-connect.md): Pair the keyboard with a computer: use its mouse and keys from your phone, control its music, share the clipboard and files, and let the computer type into your phone. - [Learn from text](https://wmkeyboard.pages.dev/tools/learn-from-text.md): Teach the keyboard your words from something you already wrote: it lists the words it doesn't know, and you add them in one go. - [Location](https://wmkeyboard.pages.dev/tools/location.md): Share where you are, or a place you saved, as a map link, an address, coordinates or a Plus code, without leaving the chat. - [Look up](https://wmkeyboard.pages.dev/tools/look-up.md): Look up a word in any app on a card over that app, from the text selection menu or by tapping it, with readings, pitch accent and Anki cards. - [Media controls](https://wmkeyboard.pages.dev/tools/media.md): Play, pause and skip whatever is playing (with album art) from the keyboard. - [Offline voice (Moonshine)](https://wmkeyboard.pages.dev/tools/moonshine.md): Quick English dictation on your phone with Moonshine Tiny, a model made for short phrases. - [Music ID](https://wmkeyboard.pages.dev/tools/music-id.md): Name the song that is playing from the keyboard through a recognition service of your choice, then type it into the chat or send it as a picture. - [Notes](https://wmkeyboard.pages.dev/tools/notes.md): A notebook inside the keyboard: jot while you type, tag and pin, tick off checklists, lock the private ones, and keep every note in your backup. - [Offline voice (Omnilingual)](https://wmkeyboard.pages.dev/tools/omnilingual.md): One offline model for about 380 keyboard languages, many with no other voice typing: Meta's Omnilingual ASR on your phone. - [Offline voice (Parakeet)](https://wmkeyboard.pages.dev/tools/parakeet.md): Dictation in 25 European languages on your phone, with NVIDIA's Parakeet TDT model telling them apart. - [Providers](https://wmkeyboard.pages.dev/tools/providers.md): How tools that can ask more than one service keep a list of providers you add, order, switch off and set up, with fallback between them. - [Read back and offline voices](https://wmkeyboard.pages.dev/tools/read-back.md): Hear what you typed, read aloud in the keyboard's language, with Kokoro's natural voices for English and Mandarin and Meta's MMS voices in more than a thousand languages, offline. - [Resize the keyboard](https://wmkeyboard.pages.dev/tools/resize.md): Drag the keyboard's height, position and side margins in place, over the keys, instead of hunting for sliders in Settings. - [Scanner (OCR, QR, documents)](https://wmkeyboard.pages.dev/tools/scanner.md): Point the camera at text, codes, or paper and get the result in your field. - [Search, Wikipedia & dictionary](https://wmkeyboard.pages.dev/tools/search.md): Web and image search, a three-tab Wikipedia reader, and instant word definitions: four lookup tools built into the keyboard. - [Send files](https://wmkeyboard.pages.dev/tools/send.md): Send a file to anyone as an encrypted link that expires, or straight to a phone next to you, and receive both kinds without leaving the app you are typing in. - [Offline voice (Sherpa)](https://wmkeyboard.pages.dev/tools/sherpa.md): Streaming dictation on your phone in 13 languages, Bangla among them, with words that appear while you speak. - [Snippets & text expansion](https://wmkeyboard.pages.dev/tools/snippets.md): Reusable text blocks with variables, inserted from a panel or expanded by keyword. - [Internet speed test](https://wmkeyboard.pages.dev/tools/speed-test.md): Measure download, upload, ping and jitter from the keyboard, then send the result as a picture: a card in your choice of style, size and layout. - [Text editing & cursor tools](https://wmkeyboard.pages.dev/tools/text-editing.md): A cursor pad, selection helpers, and undo/redo: precision editing from the keyboard. - [To-do list](https://wmkeyboard.pages.dev/tools/todo.md): A to-do list inside the keyboard: add and tick tasks, open a task to its steps, edit with a long press, and sync with a CalDAV task list through DAVx5 if you want to. - [Trackpad](https://wmkeyboard.pages.dev/tools/trackpad.md): Turn the key area into a trackpad: drag to move the cursor, hold and drag to select, two fingers for words. - [Transcription server](https://wmkeyboard.pages.dev/tools/transcription-server.md): Dictate through a speech-to-text server you run: speaches, whisper.cpp, or any OpenAI-compatible service. - [Translate](https://wmkeyboard.pages.dev/tools/translate.md): Type in one language, read the translation live, and drop it into the field without switching apps. Online, or on the device with no connection. - [Utility tools](https://wmkeyboard.pages.dev/tools/utilities.md): Calculator, unit and currency converters, a symbol picker, QR and password generators, a text repeater, and a typing-speed test: eight related tools, seven of them entirely offline. - [Vocabulary](https://wmkeyboard.pages.dev/tools/vocabulary.md): Word cards, gentle nudges towards stronger words, and flashcards, from downloadable vocabulary packs. - [Voice typing](https://wmkeyboard.pages.dev/tools/voice.md): Dictation through your device's speech engine: a full panel, a compact bar over the keys, or a draggable bar with the keyboard out of the way. - [Offline voice (Vosk)](https://wmkeyboard.pages.dev/tools/vosk.md): Small offline dictation models for 29 languages, about 40 MB each, with words that appear while you speak: Alpha Cephei's Vosk on your phone. - [Offline voice (Whisper)](https://wmkeyboard.pages.dev/tools/whisper.md): Dictation that never touches the network: Whisper models running on your device. - [Offline voice (Whistle)](https://wmkeyboard.pages.dev/tools/whistle.md): Fast dictation on your phone in seven languages, with one small Cactus Whistle model. - [WM Pass](https://wmkeyboard.pages.dev/tools/wm-pass.md): A password book in the keyboard, built on the separate WM Pass password manager: unlock it with your fingerprint or master password without leaving the app, fill a login in two taps, browse and search the vault, type, copy or show a field, add a login, make or change a password, and get WM Pass's own buttons on the strip. The vault stays in that app. ## Themes & appearance - [Theming overview](https://wmkeyboard.pages.dev/themes/overview.md): Material You, light/dark/AMOLED, and automatic theme switching. - [Image backgrounds](https://wmkeyboard.pages.dev/themes/backgrounds.md): Put a photo behind your keys, with crop, opacity, blur and a separate landscape image. - [Theme editor](https://wmkeyboard.pages.dev/themes/editor.md): Every color, key shape, gradient, corner and animation knob for a single custom theme. - [Theme families and looks](https://wmkeyboard.pages.dev/themes/families.md): One theme, several looks: family cards with swatch dots, the Grouped and Separate gallery styles, and building a family of your own. - [Keyboard fonts](https://wmkeyboard.pages.dev/themes/fonts.md): Change the key-label typeface: Google Fonts, your own files, or addon fonts. - [Frosted glass](https://wmkeyboard.pages.dev/themes/glass.md): See-through keys, bars and popups over a blurred backdrop: how glass themes work, what they need from the phone, and every knob in the editor. - [Icon packs](https://wmkeyboard.pages.dev/themes/icon-packs.md): Replace toolbar and key icons one at a time, or all at once by installing an icon pack. - [Online photos and rotation](https://wmkeyboard.pages.dev/themes/online-photos.md): Search Unsplash and Pexels for a background, keep photos in a collection, and let the keyboard change its background on a schedule. - [Sharing themes](https://wmkeyboard.pages.dev/themes/sharing.md): Export a theme as a file, import someone else's, or publish it in an addon repository. ## Addons - [What are addons?](https://wmkeyboard.pages.dev/addons/overview.md): Fourteen kinds of installable content, published by anyone with a static file host, installed with nothing more than a URL. - [Sharing with everyone](https://wmkeyboard.pages.dev/addons/community.md): Send a theme, layout, icon pack, sticker pack, sound pack or snippets you made to the community addon repository, and how it gets checked, previewed and published. - [Importing from a link](https://wmkeyboard.pages.dev/addons/from-a-link.md): Share a GitHub, Codeberg, GitLab or gist address into WM Keyboard and it works out what is behind it, fetches it, and imports it. - [Installing addons](https://wmkeyboard.pages.dev/addons/installing.md): Paste a repository URL, browse the catalogue, install what you like. - [Updates & management](https://wmkeyboard.pages.dev/addons/managing.md): How installed addons check for updates, what happens when a repository changes, and what uninstalling actually cleans up. ## Plugins - [WM Keyboard plugins](https://wmkeyboard.pages.dev/plugins/overview.md): Plugins are small sandboxed Python scripts that add tools to the keyboard. - [Plugin API reference](https://wmkeyboard.pages.dev/plugins/api-reference.md): Everything a Python plugin can use: manifest, hooks, widgets, events, wm.*, modules, limits. - [Writing your first plugin](https://wmkeyboard.pages.dev/plugins/getting-started.md): Build the Cipher Tool in Python: a plugin panel with two tabs, made with nothing but a text editor. - [Permissions](https://wmkeyboard.pages.dev/plugins/permissions.md): The three permissions a plugin can declare, and what they grant. - [The plugin sandbox](https://wmkeyboard.pages.dev/plugins/security.md): What the Python plugin sandbox can do, how that is enforced, and where the limits are. ## Privacy & security - [Privacy at a glance](https://wmkeyboard.pages.dev/privacy/overview.md): Offline by default, no telemetry, network per-tool and opt-in. The receipts are in this section. - [Backup & restore](https://wmkeyboard.pages.dev/privacy/backup.md): Export everything, back up on a timer to places you choose, keep devices in sync, and control what Android's own backup may take. - [Your data on device](https://wmkeyboard.pages.dev/privacy/data.md): Exactly what WM Keyboard stores, where, and how to erase it. - [Data saver](https://wmkeyboard.pages.dev/privacy/data-saver.md): Hold back what the keyboard fetches while you're on mobile data, feature by feature, with an ask-first option in the middle. - [Deleting your data](https://wmkeyboard.pages.dev/privacy/delete-data.md): Every piece of data WM Keyboard holds, where the button that erases it is, and how long anything is kept. - [Incognito & secure fields](https://wmkeyboard.pages.dev/privacy/incognito.md): When the keyboard deliberately forgets: incognito mode, passwords, and secure fields. - [Network policy](https://wmkeyboard.pages.dev/privacy/network.md): Every feature that can touch the network, what it sends, and how to keep it off. - [Network activity](https://wmkeyboard.pages.dev/privacy/network-activity.md): A log of every request the keyboard makes: which feature, which server, how much data, and why. On your device only, never what you typed. - [Using it without internet](https://wmkeyboard.pages.dev/privacy/offline.md): What works with no connection, what the offline build leaves out, and how to bring in interface languages, feature libraries, language packs, voice models, OCR data and GIF packs fetched on another device. - [Permissions](https://wmkeyboard.pages.dev/privacy/permissions.md): Every permission the keyboard can ask for, which feature wants it, and what happens if you say no. - [Privacy policy (Google Play edition)](https://wmkeyboard.pages.dev/privacy/policy.md): The formal policy for the Google Play and GitHub builds: what WM Keyboard collects (nothing, beyond a name a tipper asks to have listed), what stays on your device, what optional tools send where, and what Google's own libraries report. - [Privacy policy (F-Droid edition)](https://wmkeyboard.pages.dev/privacy/policy-fdroid.md): The formal policy for the F-Droid build: no Google library compiled in, nothing collected, and every network call named. ## Accessibility - [Accessibility](https://wmkeyboard.pages.dev/accessibility/overview.md): TalkBack support, gesture pass-through, and options that make typing easier. ## Reference - [Using the docs with AI](https://wmkeyboard.pages.dev/reference/ai-access.md): Point ChatGPT, Claude, Gemini, Cursor or the keyboard's own AI at this documentation: llms.txt, Markdown copies of every page, a search API and an MCP server. - [Automation: adb and Tasker](https://wmkeyboard.pages.dev/reference/automation.md): Let adb, Tasker, MacroDroid or any app that sends an Android intent switch language, theme, mode and more, with a switch per action and nothing allowed until you turn it on. - [Deep links & launcher shortcuts](https://wmkeyboard.pages.dev/reference/deep-links.md): Every settings screen and setting has a wmkeyboard:// address. The full route table, the launcher shortcuts, the addon links, and the file associations. - [Easter eggs](https://wmkeyboard.pages.dev/reference/easter-eggs.md): Every hidden surprise in the keyboard, spoiled in one place: the birthday card, the secret mini game, the achievements, and the rest. - [File formats](https://wmkeyboard.pages.dev/reference/file-formats.md): Every file format WM Keyboard reads or writes: extensions, structure, and links to the full spec. - [Gesture cheat sheet](https://wmkeyboard.pages.dev/reference/gestures.md): Every gesture on one page, printable. - [Glossary](https://wmkeyboard.pages.dev/reference/glossary.md): The words this documentation uses, defined once. - [Importing from Espanso](https://wmkeyboard.pages.dev/reference/importing-from-espanso.md): Move snippets between WM Keyboard and Espanso: what converts both ways, what doesn't, and why. - [Importing from other keyboards](https://wmkeyboard.pages.dev/reference/importing-other-keyboards.md): Bring layouts, themes, dictionaries, input methods and whole settings backups over from FlorisBoard, HeliBoard, LeanType, FUTO, CleverKeys, Unexpected Keyboard, AnySoftKeyboard, Samsung Keyboard (Keys Cafe), Multiling O, Kinetica, Clink, Gboard, gcin, OpenVanilla, Rime and m17n, plus layouts made for Windows, macOS and Linux: what converts, what doesn't, and why. - [Link builder](https://wmkeyboard.pages.dev/reference/link-builder.md): Build a wmkeyboard:// link to any settings screen, any single setting, or any addon, and read what an existing link will do. Copy it as a plain link, an intent:// URL, an adb command, Markdown, HTML or a QR code. - [Settings Aโ€“Z](https://wmkeyboard.pages.dev/reference/settings.md): How the settings app is organized: six home-screen groups, a search screen that indexes almost every row, and a map to every screen in this section. - [About & diagnostics](https://wmkeyboard.pages.dev/reference/settings/about.md): Version, licence, and source links, where to send a bug, and a diagnostics screen for pulling a shareable report. - [Accessibility](https://wmkeyboard.pages.dev/reference/settings/accessibility.md): Every row on the Accessibility screen (control type, range, and default) for vision, motion, the settings app, screen reader, and touch. - [Addons & plugins](https://wmkeyboard.pages.dev/reference/settings/addons.md): Repositories, installed addons, sticker packs and the plugin manager. - [App lock](https://wmkeyboard.pages.dev/reference/settings/app-lock.md): Every row on the App lock screen: the master switch, what answers the lock (fingerprint, PIN, password or pattern), the list of screens and buttons you can lock, how long one check lasts, and what the lock does not protect. - [Appearance](https://wmkeyboard.pages.dev/reference/settings/appearance.md): Keyboard style, key look, and the toolbar's shape. - [Backup & restore](https://wmkeyboard.pages.dev/reference/settings/backup.md): Every switch on the Backup & restore screen: locations, automatic backup, sync between devices, what goes in an export, and what an import merges or replaces. - [Data saver](https://wmkeyboard.pages.dev/reference/settings/data-saver.md): Every row on the Data saver screen: what arms it, and the three answers each network feature can have while the connection is metered. - [Dictionaries & words](https://wmkeyboard.pages.dev/reference/settings/dictionaries.md): Personal dictionary, custom word lists, the blacklist and emoji keywords. - [Emoji](https://wmkeyboard.pages.dev/reference/settings/emoji.md): Every row on the Emoji settings screen: access, suggestions, the emoji row, skin tones, fonts, the panel page, and keyword packs. - [Extensions](https://wmkeyboard.pages.dev/reference/settings/extensions.md): The far-fetched features, switched on or off as one thing: what each bundle carries, what leaves the app when it is off, and how the defaults follow the settings depth. - [Floating button](https://wmkeyboard.pages.dev/reference/settings/floating-button.md): Every row on the Floating button screen: the switch, what a tap, double tap and press and hold do, the quick menu and its categories, how the button looks and when it shows. - [Keyboard font](https://wmkeyboard.pages.dev/reference/settings/fonts.md): Google Fonts, imported font files, and addon fonts for the key labels. - [Icons](https://wmkeyboard.pages.dev/reference/settings/icons.md): Every row on the Icons screen: the active pack, the 111 per-slot overrides, and the picker behind each one. - [Key layouts](https://wmkeyboard.pages.dev/reference/settings/keymaps.md): Every row across the layouts list, the visual editor, and the raw JSON editor, with each control's real default. - [Key press](https://wmkeyboard.pages.dev/reference/settings/keypress.md): Every row on the Key press screen (control type, range, and default) for haptics, sound, the backspace swipe, popup, timing, and press-and-hold shortcuts. - [Languages](https://wmkeyboard.pages.dev/reference/settings/languages.md): Every group and row on the Languages screen: enabled languages, Add language, and each language's own screen. - [Layout & size](https://wmkeyboard.pages.dev/reference/settings/layout.md): Every row on the Layout & size screen, covering the number row, the arrow keys row, key and row sizing, per-screen overrides, one-handed, split & floating, and the bottom-row emoji keys. - [Keyboard modes](https://wmkeyboard.pages.dev/reference/settings/modes.md): Per-app and per-field profiles with auto-activation. - [Permissions](https://wmkeyboard.pages.dev/reference/settings/permissions.md): Every row on the Permissions screen: what each one unlocks, what Granted, Not granted and Automatic mean, and where tapping a row sends you. - [Phone number formats](https://wmkeyboard.pages.dev/reference/settings/phone-formats.md): The masks that tell the clipboard which number-shaped runs are actually phone numbers: mask characters, length bounds, the matching leeway, and the built-in tester. - [Privacy](https://wmkeyboard.pages.dev/reference/settings/privacy.md): Every row on the Privacy screen: learning on this device, incognito, Android backup, other apps controlling the keyboard, download verification, and the one button that clears learned data. - [Rows & bars](https://wmkeyboard.pages.dev/reference/settings/rows.md): The symbol row, the fancy text switch, the dictionary bar, row ordering, and editable symbol sets. - [Selection actions](https://wmkeyboard.pages.dev/reference/settings/selection-actions.md): Every row on the Selection actions screen and its four sub-screens: the switch, where the bar draws, the list of actions and their order, the icon-only actions, the AI buttons and the time zones. - [Servers](https://wmkeyboard.pages.dev/reference/settings/servers.md): The F-Droid edition's list of every online service and download repository, and how to point each one at a mirror or a server you run. - [Share sheet](https://wmkeyboard.pages.dev/reference/settings/share-sheet.md): The keyboard's own share sheet: pinned and recent apps first, a search over every app that takes the share, and Copy, Open and Insert beside them. Every row on the Share sheet screen. - [Statistics](https://wmkeyboard.pages.dev/reference/settings/statistics.md): The typing counts screen: your level and achievements, streaks, your typos and the slips behind them, the tap heatmap, who you are when you type, punctuation, the record book, languages, voice typing, personal bests, the charts, when counting pauses, and how to delete the lot. - [Keyboard themes](https://wmkeyboard.pages.dev/reference/settings/themes.md): Every row on the theme list and the theme editor: mode, auto light/dark, and every color, shape, and animation control. - [Tools](https://wmkeyboard.pages.dev/reference/settings/tools.md): The master tool list: how to enable, disable, recolour, and open each of the 86 tools' own settings, plus what each tool's in-panel manager does. - [Typing](https://wmkeyboard.pages.dev/reference/settings/typing.md): Every setting on the Typing screen: autocorrect, capitals and punctuation, suggestions, smart chips, one-time codes, gestures and their three pages, Enter, volume keys, and physical keyboards. - [Hardware shortcuts](https://wmkeyboard.pages.dev/reference/shortcuts.md): Physical-keyboard shortcuts and the leader key, all in one table. - [Troubleshooting](https://wmkeyboard.pages.dev/reference/troubleshooting.md): When something misbehaves: fixes for the usual suspects. ## Development - [Addon repositories](https://wmkeyboard.pages.dev/development/addon-repos.md): The addon repository system: spec, JSON schema, and client design docs. - [Addon repositories: client handling design](https://wmkeyboard.pages.dev/development/addon-repos/client-design.md): How the app fetches, verifies and installs addons from a repository. - [Addon repository format](https://wmkeyboard.pages.dev/development/addon-repos/repo-format.md): The published spec for wmkeyboard-repo.json: what a repository author writes. - [Sound packs](https://wmkeyboard.pages.dev/development/addon-repos/sound-packs.md): The .wmsoundpack format: many recordings of one keyboard, one played per key press and one when you lift, with optional per-role and per-key sounds. - [Architecture](https://wmkeyboard.pages.dev/development/architecture.md): Module layering, design decisions, and the seams that hold WM Keyboard together. - [Building from source](https://wmkeyboard.pages.dev/development/building.md): Clone, build, install: JDK, SDK and build switch details. - [Docs component gallery](https://wmkeyboard.pages.dev/development/component-gallery.md): Live demos of every custom component available to documentation authors. - [Contributing](https://wmkeyboard.pages.dev/development/contributing.md): Module boundaries, code style, and commit conventions to match, plus a few good places to start. - [Dictionary pipeline](https://wmkeyboard.pages.dev/development/dictionaries.md): How wordlists become .wmdict binaries, and how to build your own. - [Performance tooling](https://wmkeyboard.pages.dev/development/performance.md): Tracing the keyboard with Perfetto, logging janky frames, Compose compiler reports, macrobenchmarks and the baseline profile. - [Releasing](https://wmkeyboard.pages.dev/development/releasing.md): The three release channels, what each build flag does, and the exact steps for GitHub, F-Droid and Play. - [Testing](https://wmkeyboard.pages.dev/development/testing.md): How the test suite is organized: JVM unit tests, Compose and instrumented device tests, and the Rust host tests for the grammar engine. - [.wmlm training and evaluation](https://wmkeyboard.pages.dev/development/wmlm.md): Prepare, distill, mask and evaluate the neural context model, then export a .wmlm with a verifiable hash.