<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>智慧型手機 on Ivon's Blog</title><link>https://ivonblog.com/en-us/categories/%E6%99%BA%E6%85%A7%E5%9E%8B%E6%89%8B%E6%A9%9F/</link><description>Recent content in 智慧型手機 on Ivon's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor><webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster><copyright>You are welcome to share articles from Ivon's blog (ivonblog.com). Please cite the source article URL when sharing. All article content is licensed under a Creative Commons Attribution-ShareAlike 4.0 license, unless otherwise stated. For commercial use, please contact me first.</copyright><lastBuildDate>Wed, 03 Jun 2026 19:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/en-us/categories/%E6%99%BA%E6%85%A7%E5%9E%8B%E6%89%8B%E6%A9%9F/index.xml" rel="self" type="application/rss+xml"/><follow_challenge><feedId>56005902658351104</feedId><userId>1132431067563556864</userId></follow_challenge><item><title>Typing with a On-Screen Keyboard on Linux Touchscreens (X11 &amp; Wayland Desktops)</title><link>https://ivonblog.com/en-us/posts/linux-on-screen-keyboard/</link><pubDate>Wed, 03 Jun 2026 19:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/linux-on-screen-keyboard/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Use virtual / on-screen keyboard on Linux devices with touch screen.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/title.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;If you use Linux tablets like the Microsoft Surface, Lenovo Yoga, Pine64 PineTab, or Librem Tab, you will probably run into touchscreen text input sooner or later. Can we type Chinese with an on-screen keyboard?&lt;/p&gt;
&lt;p&gt;Touch devices usually provide a virtual keyboard for typing. On Windows we have the &lt;a href="https://support.microsoft.com/zh-tw/windows/%E4%BD%BF%E7%94%A8%E8%9E%A2%E5%B9%95%E5%B0%8F%E9%8D%B5%E7%9B%A4-osk-%E8%BC%B8%E5%85%A5-ecbb5e08-5b4e-d8c8-f794-81dbf896267a" target="_blank" rel="noreferrer"&gt;on-screen keyboard&lt;/a&gt;, so what about Linux?&lt;/p&gt;
&lt;p&gt;That depends on which Linux desktop environment you use, and whether it runs on the X11 or Wayland display protocol. It gets messy fast, so I will split it by desktop environment.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Use virtual / on-screen keyboard on Linux devices with touch screen.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/title.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;If you use Linux tablets like the Microsoft Surface, Lenovo Yoga, Pine64 PineTab, or Librem Tab, you will probably run into touchscreen text input sooner or later. Can we type Chinese with an on-screen keyboard?&lt;/p&gt;
&lt;p&gt;Touch devices usually provide a virtual keyboard for typing. On Windows we have the &lt;a href="https://support.microsoft.com/zh-tw/windows/%E4%BD%BF%E7%94%A8%E8%9E%A2%E5%B9%95%E5%B0%8F%E9%8D%B5%E7%9B%A4-osk-%E8%BC%B8%E5%85%A5-ecbb5e08-5b4e-d8c8-f794-81dbf896267a" target="_blank" rel="noreferrer"&gt;on-screen keyboard&lt;/a&gt;, so what about Linux?&lt;/p&gt;
&lt;p&gt;That depends on which Linux desktop environment you use, and whether it runs on the X11 or Wayland display protocol. It gets messy fast, so I will split it by desktop environment.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Touchscreen Keyboards by Desktop Environment
 &lt;div id="1-touchscreen-keyboards-by-desktop-environment" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-touchscreen-keyboards-by-desktop-environment" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;GNOME
 &lt;div id="gnome" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#gnome" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;The default desktop environment for distributions such as Ubuntu, Fedora, and Debian. &lt;strong&gt;Latest version: GNOME 50&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GNOME 40 and later include a built-in on-screen keyboard, available on both X11 and Wayland.&lt;/p&gt;
&lt;p&gt;In System Settings → Accessibility, enable the on-screen keyboard.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/Screenshot2024004-37.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;After that, tapping the screen will bring up the OSK keyboard. Swipe up from the bottom of the screen to open it.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/2024-11-30_00-59.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;But I think GNOME&amp;rsquo;s built-in keyboard is too bare-bones. I recommend using the &lt;a href="https://ivonblog.com/posts/how-to-install-gnome-extensions/" target="_blank" rel="noreferrer"&gt;GNOME Extension Manager&lt;/a&gt; to install &lt;a href="https://github.com/Vishram1123/gjs-osk" target="_blank" rel="noreferrer"&gt;GJS OSK&lt;/a&gt;, which gives you a more complete on-screen keyboard.&lt;/p&gt;

&lt;h3 class="relative group"&gt;KDE Plasma
 &lt;div id="kde-plasma" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#kde-plasma" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;The default desktop environment for Kubuntu, Fedora Spin, openSUSE, and SteamOS. &lt;strong&gt;Latest version: KDE Plasma 6.6&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;KDE&amp;rsquo;s touch keyboard has a lot of problems and is not very stable. You need at least KDE Plasam 6.6 or later before it starts becoming more usable.&lt;/p&gt;
&lt;p&gt;The Plasma Login Manager login screen has a &lt;code&gt;Maliit Keyboard&lt;/code&gt; virtual keyboard.&lt;/p&gt;
&lt;p&gt;On KDE with the X11 protocol, there is no good solution. There is &lt;code&gt;qtvirtualkeyboard&lt;/code&gt;, but it only works with programs using the QT framework. I recommend installing &lt;code&gt;onboard&lt;/code&gt; directly.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;KDE on Wayland uses &lt;code&gt;Maliit Keyboard&lt;/code&gt;, which is based on an input method originally developed for MeeGo. You may need to install the Mallit Keyboard package manually:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install maliit-keyboard&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Then go to System Settings → Keyboard → Virtual Keyboard, and enable Maliit Keyboard.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/20241130_011038.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Click the input method icon in the system tray to wake the keyboard. Swipe down to close it.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/20241130_004618.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;

&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/20241130_004453.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Maliit Keyboard supports Zhuyin and Pinyin input methods.&lt;/p&gt;
&lt;p&gt;Also, Maliit Keyboard cannot be used together with the Fcitx5 input method, because Maliit Keyboard and Fcitx5 are both started through KDE Plasma&amp;rsquo;s virtual keyboard mechanism. You can only use one at a time.&lt;/p&gt;
&lt;p&gt;If you want to use an on-screen keyboard to emulate keyboard input events and type Chinese through Fcitx5, you need to switch to &lt;a href="https://github.com/fortime/fcitx5-osk" target="_blank" rel="noreferrer"&gt;fcitx5-osk&lt;/a&gt;.&lt;/p&gt;

&lt;h3 class="relative group"&gt;Other Desktop Environments
 &lt;div id="other-desktop-environments" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#other-desktop-environments" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;First, for desktops running the X11 protocol: XFCE, Cinnamon, LXQT, and i3wm do not have their own on-screen keyboards, but since they all run on X11, installing &lt;code&gt;onboard&lt;/code&gt; is enough. GNOME X11 and KDE Plasma X11 can also use this keyboard.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install onboard&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The Onboard keyboard is highly customizable. You can choose layouts according to your screen size.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/Screenshot_20241130_113912.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;It can also emulate physical keyboard input, so it can work with Fcitx5 for typing Hanyu Pinyin.&lt;/p&gt;
&lt;p&gt;Basically, onboard only works properly on X11 desktops. Under Wayland it can only run through XWayland, and there are plenty of bugs.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Next, desktops running the Wayland protocol.&lt;/p&gt;
&lt;p&gt;For desktop environments or compositors written on top of wlroots, such as Sway, Hyprland, XFCE, use &lt;a href="https://github.com/jjsullivan5196/wvkbd" target="_blank" rel="noreferrer"&gt;wvkbd&lt;/a&gt; for typing. It is a minimalist Linux on-screen keyboard written in C, and it can emulate keyboard input events. Its appearance is customizable.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/wvkbd.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Phosh includes the &lt;a href="https://gitlab.gnome.org/World/Phosh/squeekboard" target="_blank" rel="noreferrer"&gt;Squeekboard&lt;/a&gt; keyboard, which cannot be used in other desktop environments.&lt;/p&gt;
&lt;p&gt;KDE Plasma Mobile 6 includes &lt;a href="https://github.com/maliit/keyboard" target="_blank" rel="noreferrer"&gt;Maliit Keyboard&lt;/a&gt;. It supports Chinese Zhuyin, but it is unstable.&lt;/p&gt;
&lt;p&gt;Ubuntu Touch includes &lt;a href="https://github.com/maliit/keyboard" target="_blank" rel="noreferrer"&gt;Maliit Keyboard&lt;/a&gt;. It supports Chinese Zhuyin and is currently the only input method that is genuinely usable. It can only be used in the Lomiri desktop environment.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. Typing Chinese with a Touchscreen Keyboard
 &lt;div id="2-typing-chinese-with-a-touchscreen-keyboard" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-typing-chinese-with-a-touchscreen-keyboard" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Unfortunately, Linux touchscreen keyboards almost all support only English, and they cannot display Zhuyin on the keys. So you need to make good use of keyboards that emulate physical keyboard input events.&lt;/p&gt;
&lt;p&gt;Take the GNOME desktop with &lt;a href="https://extensions.gnome.org/extension/5949/gjs-osk/" target="_blank" rel="noreferrer"&gt;GJS OSK&lt;/a&gt; as an example.&lt;/p&gt;
&lt;p&gt;Install &lt;a href="https://ivonblog.com/posts/ubuntu-fcitx5/" target="_blank" rel="noreferrer"&gt;Fcitx5&lt;/a&gt; and enable the Hanyu Pinyin input method. Also install &lt;a href="https://extensions.gnome.org/extension/261/kimpanel/" target="_blank" rel="noreferrer"&gt;Input Method Panel&lt;/a&gt; to display the input method icon.&lt;/p&gt;
&lt;p&gt;Then use the on-screen keyboard to press CTRL + Space to switch input methods, or tap the &lt;code&gt;en&lt;/code&gt; keyboard icon in the system tray to switch input methods. After that, you can type Chinese using English letters.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-on-screen-keyboard/images/2024-03-0818-58-442.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;If you need &amp;ldquo;handwriting input converted into text&amp;rdquo;, please refer to this article: &lt;a href="https://ivonblog.com/posts/linux-handwritten-chinese-im/" target="_blank" rel="noreferrer"&gt;Linux Chinese Handwriting IME&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;References
 &lt;div id="references" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#references" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://help.gnome.org/users/gnome-help/stable/keyboard-osk.html.en" target="_blank" rel="noreferrer"&gt;Use an on-screen keyboard - GNOME Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.oracle.com/en/operating-systems/oracle-linux/7/accessibility/accessibility-WorkingWithOnScreenKeyboards.html" target="_blank" rel="noreferrer"&gt;4 Working With On-Screen Keyboards - Oracle Linux 7 Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.postmarketos.org/wiki/Input_methods" target="_blank" rel="noreferrer"&gt;Input methods - postmarketOS Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.archlinux.org/title/Tablet_PC" target="_blank" rel="noreferrer"&gt;Tablet PC - ArchWiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.martin-graesslin.com/blog/2021/03/using-maliit-keyboard-in-a-plasma-wayland-session/" target="_blank" rel="noreferrer"&gt;Using maliit-keyboard in a Plasma Wayland session - Martin&amp;rsquo;s Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/linux-on-screen-keyboard/featured.webp"/></item></channel></rss>