<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>F-Droid – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/en/tag/f-droid/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de/en</link>
	<description>A German Linux blog, in English</description>
	<lastBuildDate>Tue, 10 Nov 2026 08:36:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>FOSS keyboards for Android: alternatives to Gboard and SwiftKey tested</title>
		<link>https://linuxundich.de/en/foss-keyboards-android-alternatives-gboard-swiftkey/</link>
					<comments>https://linuxundich.de/en/foss-keyboards-android-alternatives-gboard-swiftkey/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 10 Nov 2026 08:36:23 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[F-Droid]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Gboard]]></category>
		<category><![CDATA[Keyboard]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[SwiftKey]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/foss-keyboards-android-alternatives-gboard-swiftkey/</guid>

					<description><![CDATA[Gboard and SwiftKey see every keystroke, and both belong to big tech companies. There are plenty of free keyboards like HeliBoard, FlorisBoard or WM Keyboard – but not all of them deserve your trust.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A keyboard sees everything you type on your phone: passwords, messages, search queries, the PIN for online banking. Yet hardly anyone asks who actually wrote it. Most Android devices come with Gboard, many Samsung users have SwiftKey, and both come from big tech companies that make their money with data. Free alternatives do exist.</p>



<p class="wp-block-paragraph">This article was prompted by a <a href="https://www.reddit.com/r/flossdroid/comments/1xp3cnj/foss_keyboards_for_android/">thread on r/flossdroid</a> in which users collect free keyboards for Android: LeanType, Bucky, Simple Keyboard, plus WM Keyboard, HeliBoard and FUTO. The candidates run here with a German layout, in the Android emulator and on a Pixel 10. On top of that comes a look at the requested permissions and the repositories: What does the app ask for, who develops it, how up to date is it?</p>



<h2 class="wp-block-heading">A keyboard knows everything</h2>



<p class="wp-block-paragraph">Technically, a keyboard is an ordinary app that hooks into the system as an input method. It receives every keystroke, <a href="https://developer.android.com/develop/ui/views/touch-and-input/creating-input-method">can read the text before and after the cursor</a> and even learns when a password field is open. Android warns you about this when you enable a keyboard. But the system can’t enforce anything: whether a keyboard handles your data decently is ultimately a matter of trust.</p>



<p class="wp-block-paragraph">That this isn’t just theory is shown by a <a href="https://pure.skku.edu/en/publications/keyboard-or-keylogger-a-security-analysis-of-third-party-keyboard/">study presented at the IEEE conference PST 2015</a>: of 139 keyboards from Google Play, 84 could have been abused as keyloggers. That doesn’t prove every one of them did. That it does happen is shown by cases like <a href="https://www.androidcentral.com/aitype-virtual-keyboard-leaks-personal-data-31-million-android-users">ai.type</a>, whose database with data from 31 million users sat openly on the internet, or <a href="https://citizenlab.ca/2024/04/vulnerabilities-across-keyboard-apps-reveal-keystrokes-to-network-eavesdroppers/">Chinese keyboard apps</a> that let eavesdroppers read keystrokes. The bar is low, and that’s exactly why it pays to look at who you entrust your input to.</p>



<h2 class="wp-block-heading">Gboard: convenience with a line to Google</h2>



<p class="wp-block-paragraph">Gboard is good, no question. The suggestions are spot on, and on a Pixel phone German and English run on a single space bar right away. Google names the price itself in its <a href="https://support.google.com/gboard/answer/9058584">own help pages</a>: search queries from the keyboard go to Google, as do usage statistics, and when you dictate, your voice is sent to Google’s servers for transcription. Fittingly, the app asks for internet access.</p>



<p class="wp-block-paragraph">Then there are the word suggestions. To improve them, <a href="https://research.google/blog/improving-gboard-language-models-via-private-federated-analytics/">Gboard learns directly on your phones</a>. Your texts are supposed to stay on the device, and only the learning results go to Google, mixed with random values so that no individual can be singled out. That sounds clean. Still, your phone does computing work for Google, and you can’t check whether this holds up to what Google <a href="https://arxiv.org/abs/2306.14793">promises</a>: Gboard’s source code isn’t free.</p>



<p class="wp-block-paragraph">Gboard has had security holes, too. <a href="https://nvd.nist.gov/vuln/detail/CVE-2022-20125">CVE-2022-20125</a> allowed bypassing Factory Reset Protection, which keeps a reset phone locked to its owner. Android 10 to 12L were affected, and the hole was fixed in June 2022. An attacker needed the device in hand, though. I found no case of data leaking from Gboard itself.</p>



<h2 class="wp-block-heading">SwiftKey belongs to Microsoft</h2>



<p class="wp-block-paragraph">Microsoft bought SwiftKey in February 2016. The price was officially never disclosed, the Financial Times reported <a href="https://www.informationweek.com/software-services/microsoft-snaps-up-swiftkey-in-ai-push">around 250 million US dollars</a>. As early as July of the same year, cloud sync showed some users <a href="https://www.engadget.com/2016/07/29/swiftkey-leaked-user-email-addresses-as-text-predictions/">other people’s email addresses and phone numbers as word suggestions</a>. SwiftKey turned off sync and removed email suggestions. A bug turned into a data breach.</p>



<p class="wp-block-paragraph">Older is the hole in the Samsung keyboard, which used SwiftKey technology. It downloaded language packs unencrypted and unverified, which according to <a href="https://www.securityweek.com/swiftkey-bug-puts-millions-samsung-galaxy-phones-risk/">security firm NowSecure</a> allowed remote code execution. An estimated 600 million devices were affected, the standalone SwiftKey apps were not. According to NowSecure, Samsung had known about the problem since November 2014.</p>



<p class="wp-block-paragraph">Then there’s the direction of recent years. On Android, <a href="https://windowscentral.com/software-apps/microsoft-swiftkey-ditches-bing-for-copilot">Copilot has replaced the Bing button</a>, and since May 31, 2026 you need a Microsoft account for backup and sync, with the data stored in OneDrive. Accounts created via Google or Apple were deleted (<a href="https://www.heise.de/news/Microsoft-SwiftKey-Zwang-zum-Microsoft-Konto-fuer-Backups-kommt-Ende-Mai-11217652.html">heise, German</a>). So you keep typing on a keyboard that is growing ever closer to your Microsoft account.</p>



<h2 class="wp-block-heading">The free alternatives tested</h2>



<p class="wp-block-paragraph">Free here means: the source code is open, and ideally the app doesn’t ask for internet access at all. You can check the latter without trusting the project page: the permissions are in the installation file (APK) and can be read out with a tool from Google. Version and release date are listed for each keyboard.</p>



<p class="wp-block-paragraph">Testing takes place in the Android emulator (Pixel 10 profile, Android 17, German system language), while LeanType and FUTO run on a real Pixel 10. Each keyboard gets the German layout and types a different search term. That shows layout, suggestions and structure. Swipe typing and dictation are not tested.</p>



<h3 class="wp-block-heading">HeliBoard</h3>



<p class="wp-block-paragraph">HeliBoard is the top dog among free keyboards. It descends from Android’s own keyboard, by way of OpenBoard. The current version is 4.2 from October 12 under GPL-3.0. F-Droid builds it <a href="https://f-droid.org/docs/Reproducible_Builds/">reproducibly</a>, which verifies that the installation file really comes from the published source code. The <a href="https://github.com/HeliBorg/HeliBoard">project</a> has since moved to HeliBorg. There’s no internet permission, it only asks for the user dictionary, contacts, vibration and autostart.</p>



<p class="wp-block-paragraph">In the test, HeliBoard is the quickest to get going: the German layout is set up automatically, and while typing “datenschutz” (German for privacy), the suggestion bar offers three variants right away. The weak spots: you download additional dictionaries yourself, and swipe typing only works with a proprietary library that you have to get on your own. Since June 2025, <a href="https://nlnet.nl/project/GestureTyping/">NLnet has been funding a free replacement</a>. On top of that, almost all changes come from one developer. If he drops out, the project stalls.</p>



<h3 class="wp-block-heading">FlorisBoard</h3>



<p class="wp-block-paragraph"><a href="https://github.com/florisboard/florisboard">FlorisBoard</a> has its own code base in Kotlin, is licensed under Apache-2.0 and, with almost 8,800 stars, has the largest fan base. The catch: the stable version 0.5.2 dates from November 2025, the pre-release 0.6.0 from January 2026. Word suggestions and spell checking are still missing, both are planned for 0.6. The test shows it: while typing “kernel”, the suggestion bar stays empty.</p>



<p class="wp-block-paragraph">You first have to add the German layout as an input style in the settings. In return, you get a clipboard, emoji, themes and its own glide typing without any third-party library, which the roadmap plans to rebuild from 0.7 on. The app asks for only three permissions, internet isn’t one of them. Here, too, the lion’s share of commits comes from one person.</p>



<h3 class="wp-block-heading">AnySoftKeyboard</h3>



<p class="wp-block-paragraph"><a href="https://github.com/AnySoftKeyboard/AnySoftKeyboard">AnySoftKeyboard</a> is the veteran: the code base dates back to 2012, the license is Apache-2.0, the current version is 1.13, also on the Play Store. It offers glide typing, voice input, an incognito mode and themes as add-ons. German isn’t included. You install a separate language pack and enable the layout in the app, and it only shows up in the list after restarting the app.</p>



<p class="wp-block-paragraph">After that, it works: for “firefox”, the suggestion bar proposes the spelling “Firefox”. There’s no internet permission here either, but the app asks for contacts. Setup takes more effort than HeliBoard, and maintenance also rests on one developer. If you like a keyboard with an add-on system, AnySoftKeyboard remains an option.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6af2d8b5aec4e&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b24a9&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b24a9" class="wp-block-image size-large wp-lightbox-container"><img fetchpriority="high" decoding="async" height="1024" sizes="(max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/gboard-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/gboard-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/gboard-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/gboard-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/gboard-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/gboard-suche-456x1024.webp" alt="Gboard with a German QWERTZ layout in a search field, with the suggestion bar above it."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Gboard for comparison: searching for “tastatur” brings up suggestions, and the space bar shows German and English.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b2802&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b2802" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" height="1024" sizes="(max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/heliboard-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/heliboard-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/heliboard-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/heliboard-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/heliboard-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/heliboard-suche-456x1024.webp" alt="HeliBoard with German layout and suggestion bar, with the search field above."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">HeliBoard offers three suggestions while typing “datenschutz”, and the German layout is set up automatically.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b2a36&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b2a36" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" height="1024" sizes="(max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/florisboard-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/florisboard-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/florisboard-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/florisboard-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/florisboard-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/florisboard-suche-456x1024.webp" alt="FlorisBoard with toolbar and German layout, the search field shows “kernel” with topics and results."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">FlorisBoard has a toolbar, but no word suggestions yet while typing “kernel”.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b2c04&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b2c04" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/anysoftkeyboard-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/anysoftkeyboard-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/anysoftkeyboard-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/anysoftkeyboard-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/anysoftkeyboard-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/anysoftkeyboard-suche-456x1024.webp" alt="AnySoftKeyboard with German layout and the suggestion bar, the search field shows “firefox”."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">AnySoftKeyboard needs a language pack for German, but then suggests “Firefox”.</figcaption></figure>

</figure>



<h3 class="wp-block-heading">Simple Keyboard</h3>



<p class="wp-block-paragraph"><a href="https://github.com/rkkr/simple-keyboard">Simple Keyboard by rkkr</a> does what the name says. The README explicitly rules out emoji, GIFs, spell checking and swipe typing, and the only permission is vibration. The current version is 6.8 from October 22 under Apache-2.0, also based on Android’s own keyboard. In the test, the German layout is set up automatically, there’s no suggestion bar, and that’s exactly the point. Watch out for the name, though.</p>



<p class="wp-block-paragraph">The Simple Mobile Tools also had a keyboard called Simple Keyboard, as far as I can tell. Their developers sold to ZipoApps at the end of 2023, a company that <a href="https://liliputing.com/android-app-maker-simple-mobile-tools-acquired-by-zipoapps/">monetizes acquired apps with ads</a>. The fork <a href="https://f-droid.org/en/packages/org.fossify.keyboard">Fossify Keyboard</a> carries it on without internet permission. This article means the keyboard by rkkr. However, it has received only eight commits in the last 90 days, a project in permanent idle mode.</p>



<h3 class="wp-block-heading">WM Keyboard</h3>



<p class="wp-block-paragraph"><a href="https://github.com/wasi-master/wmkeyboard">WM Keyboard</a> is the favorite in the Reddit thread, and it’s the opposite of Simple Keyboard. The developer created the repository in August 2026 and has since written 3,381 commits in 90 days, and the README openly states that he develops with AI assistance. In return, the keyboard comes with swipe typing, offline dictation via several engines, Emoji 18, a theme editor, 89 tools and Lua plugins. The license is MIT, the source code is open.</p>



<p class="wp-block-paragraph">The APK reveals more: the regular build from GitHub requests 44 permissions, including internet, location, calendar, contacts, camera, microphone, full access to all files, drawing over other apps and installing packages. Requested doesn’t mean granted, and some of this is probably for the integrations with to-do and flashcard apps. For a keyboard, it’s still a hefty package.</p>



<p class="wp-block-paragraph">There’s an offline build without internet permission, its other permissions weren’t checked. The setup wizard offers German (QWERTZ) right away. While typing “gnome”, the German suggestions “Gnomen”, “GNOME” and “Gnom” appear, and a number row and a toolbar sit above the keyboard. More features than any other keyboard in the test – but also more that someone would have to review.</p>



<h3 class="wp-block-heading">Bucky Keys</h3>



<p class="wp-block-paragraph"><a href="https://github.com/DimiVlachos/bucky">Bucky</a> aims to be the successor to Hacker’s Keyboard: a complete PC layout with Esc, Tab, Ctrl, Alt, Home, End, arrow keys and function keys, meant for Termux, SSH and programming. The license is Apache-2.0, according to the README there’s no internet permission, and indeed the APK contains not a single real permission. The catch: it’s an alpha (0.1.0-alpha12 from November 3) with 20 stars, by one person, since October.</p>



<p class="wp-block-paragraph">In a regular search field, Bucky shows a compact layout, in its own app’s test field the full PC layout. German isn’t available: the only choices are English (US), Greek, Estonian and Finnish. That’s fine for the terminal and for English, but useless for German text. The PC layout itself is complete, and for Termux there’s a dedicated key row in the settings.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6af2d8b5b390d&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b398b&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b398b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/simple-keyboard-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/simple-keyboard-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/simple-keyboard-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/simple-keyboard-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/simple-keyboard-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/simple-keyboard-suche-456x1024.webp" alt="Simple Keyboard with German layout in a search field, the field shows “android”."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Simple Keyboard does without a suggestion bar, and the German layout is there right away.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b3b63&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b3b63" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/wm-keyboard-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/wm-keyboard-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/wm-keyboard-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/wm-keyboard-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/wm-keyboard-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/wm-keyboard-suche-456x1024.webp" alt="WM Keyboard with suggestion bar, number row and toolbar, the search field shows “gnome”."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">WM Keyboard offers suggestions, a number row and a toolbar above the keys.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b3d97&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b3d97" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/bucky-suche-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-suche-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-suche-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-suche-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-suche.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/bucky-suche-456x1024.webp" alt="Bucky Keys with a compact English layout, the search field shows “flatpak”."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">In a search field, Bucky shows a compact layout, and German is missing from the language list.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b3f83&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b3f83" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/bucky-pc-layout-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-pc-layout-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-pc-layout-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-pc-layout-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/bucky-pc-layout.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/bucky-pc-layout-456x1024.webp" alt="Bucky Keys with a PC layout including function keys, Esc, Ctrl, Alt, Home, End and arrow keys."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">In the Bucky app’s test field, the full PC layout appears with function keys, Ctrl, Alt and arrow keys.</figcaption></figure>

</figure>



<h3 class="wp-block-heading">LeanType</h3>



<p class="wp-block-paragraph"><a href="https://github.com/LeanBitLab/LeanType">LeanType</a> is a fork of HeliBoard, GPL-3.0, with around 1,150 stars. It comes with many more features: cloud AI integration (Gemini, Groq, OpenAI), GIF search, offline dictation via a Whisper plugin, screenshot suggestions and its own update checker. For that, the standard variant has internet permission, including the version F-Droid ships. The offline variant doesn’t, but still asks for camera and microphone.</p>



<p class="wp-block-paragraph">The welcome screen promises “100% private &amp; secure”, with no telemetry and no network tracking. The developer has been active on GitHub since November 2025 and has written 1,933 commits, 1,257 of them in the last 90 days, plus several betas per week. Of the last 200 commits, two state AI involvement. On the plus side: F-Droid builds the keyboard reproducibly against the developer’s signature.</p>



<p class="wp-block-paragraph">On the Pixel 10, LeanType appears right away with the German layout. The suggestion bar stays empty: the offline variant ships without a dictionary, and the toolbar points to a download from Codeberg for German.</p>



<p class="wp-block-paragraph">Then the settings: opening them brings up a donation request, and the gesture library shows “Not installed”, so it has to be downloaded separately. If you like HeliBoard but want more switches and features, this is the extended version. If you want as little attack surface as possible, stick with HeliBoard.</p>



<h3 class="wp-block-heading">FUTO Keyboard</h3>



<p class="wp-block-paragraph"><a href="https://github.com/futo-org/android-keyboard">FUTO Keyboard</a> runs right away on the Pixel 10 with the German layout. The APK contains no internet permission, but the microphone for the built-in offline dictation with Whisper. While typing “tuxedo”, however, the bar suggests “zu del”, “zu Edo” and “zu edi”: the prediction struggles with proper names. More important is the license. <a href="https://github.com/futo-org/android-keyboard/blob/master/LICENSE.md">The FUTO Source First License</a> prohibits commercial modifications and is not an open source license <a href="https://opensource.org/osd">as defined by the OSI</a>.</p>



<p class="wp-block-paragraph">The source code is public, development happens internally on GitLab, GitHub is a mirror, and anyone who wants to contribute has to grant FUTO rights to their code by contract. That’s also why FUTO isn’t in the official F-Droid repository but in its own package source. Swipe typing is recognized by an AI model on the device, the library is under GPL, the models under their own license. I wouldn’t call FUTO “FOSS”, but “source available” fits.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6af2d8b5b44de&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b455a&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b455a" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/leantype-pixel-10-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-pixel-10-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-pixel-10-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-pixel-10-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-pixel-10.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/leantype-pixel-10-456x1024.webp" alt="LeanType on the Pixel 10 with German layout and the toolbar, the search field shows “Wayland”."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">LeanType works right away on the Pixel 10, only the German dictionary is missing in the offline variant.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b4771&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b4771" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/leantype-gesten-tippen-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-gesten-tippen-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-gesten-tippen-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-gesten-tippen-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-gesten-tippen.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/leantype-gesten-tippen-456x1024.webp" alt="Gesture typing page in LeanType with the entry for loading the gesture typing library and the status Not installed."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Gesture typing in LeanType needs a library that you download separately.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b4911&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b4911" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/leantype-spendenhinweis-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-spendenhinweis-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-spendenhinweis-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-spendenhinweis-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/leantype-spendenhinweis.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/leantype-spendenhinweis-456x1024.webp" alt="Dialog asking to sponsor the project, with buttons for GitHub and Open Collective and Not now."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">When you open the settings, LeanType asks for a donation.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af2d8b5b4b89&quot;}" data-wp-interactive="core/image" data-wp-key="6af2d8b5b4b89" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/11/futo-suche-pixel-10-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/11/futo-suche-pixel-10-640x1437.webp 640w, https://linuxundich.de/wp-content/uploads/2026/11/futo-suche-pixel-10-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/11/futo-suche-pixel-10-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/11/futo-suche-pixel-10.webp 800w" width="456" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/11/futo-suche-pixel-10-456x1024.webp" alt="FUTO Keyboard on the Pixel 10 with German layout and suggestion bar, the search field shows “tuxedo”."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">For “tuxedo”, FUTO Keyboard only suggests oddities like “zu del”, it doesn’t know the name.</figcaption></figure>

</figure>



<h2 class="wp-block-heading">Key facts at a glance</h2>



<figure class="wp-block-table"><table><thead><tr><th>Keyboard</th><th>License</th><th>Internet permission</th><th>Swipe typing</th><th>Release</th></tr></thead><tbody><tr><td>HeliBoard</td><td>GPL-3.0</td><td>no</td><td>only with third-party library</td><td>4.2 (2026-10-12)</td></tr><tr><td>LeanType</td><td>GPL-3.0</td><td>yes (standard), no (offline)</td><td>library downloaded separately</td><td>4.3.1 (2026-11-04)</td></tr><tr><td>FlorisBoard</td><td>Apache-2.0</td><td>no</td><td>own implementation</td><td>0.5.2 (2025-11-28)</td></tr><tr><td>AnySoftKeyboard</td><td>Apache-2.0</td><td>no</td><td>own implementation</td><td>1.13 (2026-09-08)</td></tr><tr><td>Simple Keyboard</td><td>Apache-2.0</td><td>no</td><td>not planned</td><td>6.8 (2026-10-22)</td></tr><tr><td>WM Keyboard</td><td>MIT</td><td>yes (except offline build)</td><td>own implementation</td><td>0.6.5 (2026-11-05)</td></tr><tr><td>Bucky Keys</td><td>Apache-2.0</td><td>no</td><td>not planned</td><td>0.1.0-alpha12 (2026-11-03)</td></tr><tr><td>FUTO Keyboard</td><td>Source First</td><td>no</td><td>AI model on the device</td><td>0.1.30 (2026-08-04)</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Which keyboard should you pick?</h2>



<p class="wp-block-paragraph">For everyday use on a regular phone, after this test I would go with HeliBoard: no internet, reproducible builds, suggestions, German layout out of the box, active maintenance. If you want swipe typing, you have to live with the extra library, FlorisBoard swipes without one but still types without suggestions. If you just want to type, Simple Keyboard is a good choice. For Termux, Bucky is worth a look once there’s a stable version.</p>



<p class="wp-block-paragraph">WM Keyboard and LeanType are tempting with their feature sets. Whether they deserve your trust is up to you: a keyboard sees everything, and a one-person project with dozens of commits per week is hard to review. Internet permission and 44 requested permissions are no small matter for WM Keyboard. For a keyboard, that would be too much trust in advance for me.</p>



<p class="wp-block-paragraph">Which keyboard do you type on, and what do you look for when choosing one? Feel free to share in the comments.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/foss-keyboards-android-alternatives-gboard-swiftkey/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
