Add missing physical keyboard layouts to Android.
Lightweight • Offline • No Root • No Permissions • Open Source
Android supports external keyboards, but many useful physical keyboard layouts are missing.
KeymapKit fills that gap by adding system-level physical keyboard layouts such as:
- 🇹🇷 Turkish F
- 🇹🇷 Turkish Q
- and many more in future releases.
Unlike traditional keyboard apps:
- ✅ No on-screen keyboard
- ✅ No IME
- ✅ No root
- ✅ No Accessibility Service
- ✅ No permissions
- ✅ Works completely offline
KeymapKit simply provides additional hardware keyboard layouts that Android can use.
Current screens include:
- Home dashboard
- First-time setup
- Layout Manager
- Typing Test
- Diagnostics
- Material You interface
KeymapKit now installs only the keyboard layouts you actually need.
Choose your preferred layouts during the first launch.
For example:
- Turkish Q
- Turkish F
- English US
- German
- French
Only selected layouts become available inside Android.
Manage installed layouts anytime.
- Add layouts
- Remove layouts
- Search layouts
- View installed layouts
- Update selections instantly
No reinstall required.
KeymapKit automatically recommends layouts based on your current device language.
Examples:
- Turkish device → Turkish Q + Turkish F
- English device → English US
Verify your selected layout immediately.
No third-party app is required.
Built-in diagnostics help verify:
- Physical keyboard detection
- Active layouts
- Provider status
- Connected keyboards
- ✅ System-level physical keyboard layouts
- ✅ Works in every application
- ✅ Dynamic layout installation
- ✅ Layout Manager
- ✅ Typing Test
- ✅ Diagnostics
- ✅ Material 3 / Material You
- ✅ Dark Mode
- ✅ Android 8.0+
- ✅ Lightweight
- ✅ Offline
- ✅ Open Source
Android supports physical keyboard layouts through .kcm (Key Character Map) files.
KeymapKit registers itself as a Keyboard Layout Provider and exposes these layouts directly to Android.
Unlike an IME:
- No text input service
- No keyboard replacement
- No accessibility service
- No background process
Android itself performs all key mapping.
- Install KeymapKit
- Connect a USB or Bluetooth keyboard
- Launch KeymapKit
- Select the layouts you want
- Open:
Settings
→ Physical Keyboard
→ Choose KeymapKit layout
- Open the built-in Typing Test
- Verify everything works
Samsung devices may require tapping the language entry (for example, "Turkish (Türkiye)") before the available layouts become visible.
KeymapKit follows a strict privacy-first philosophy.
It contains:
- No permissions
- No analytics
- No advertising
- No tracking
- No accounts
- No internet communication
- No cloud services
Everything works locally on your device.
Current:
- 🇹🇷 Turkish F
- 🇹🇷 Turkish Q
Planned:
- 🇺🇸 English (US)
- 🇬🇧 English (UK)
- 🇩🇪 German
- 🇫🇷 French
- 🇪🇸 Spanish
- 🇮🇹 Italian
- More community layouts
- Kotlin
- Jetpack Compose
- Material 3
- Material You
- Android Keyboard Layout API
- Kotlin Coroutines
No XML UI.
KeymapKit includes:
- Typing Test
- Diagnostics
- Keyboard detection
- Layout verification
These tools make it easier to validate different USB and Bluetooth keyboards.
Some keyboard layout definitions (.kcm) are derived from:
More Physical Keyboard Layouts / extra-keyboard-layouts
Licensed under the MIT License.
See:
THIRD_PARTY_NOTICES.md
for attribution details.
Download KeymapKit from Google Play:
https://play.google.com/store/apps/details?id=com.alpware.keymapkit
Contributions are always welcome.
Especially:
- New keyboard layouts
- Documentation
- Generator improvements
- Bug fixes
- Device compatibility reports
Please open an Issue or Pull Request.
Apache License 2.0
AlpWare Studio
KeymapKit — because physical keyboards deserve proper layouts.
## Google Play experienceKeymapKit uses the official Google Play In-App Review and In-App Updates APIs. Automatic review requests are intentionally conservative and are evaluated only after repeated successful use: multiple layout changes, opening physical keyboard settings, multiple sessions, and at least two days since first use. Google Play always decides whether the review card is shown.
All eligibility counters remain on the device in SharedPreferences; no analytics SDK or network telemetry is used.




