メインコンテンツへスキップ

Linuxのタッチスクリーンで仮想キーボードを使って入力する (X11 & Waylandデスクトップ)

·
カテゴリー スマートフォン 真のLinuxスマホ
タグ Linux GNOME KDE Plasma Phosh Microsoft Surface
目次

Use virtual / on-screen keyboard on Linux devices with touch screen.

Microsoft Surface、Lenovo Yoga、Pine64 PineTab、Librem TabのようなLinuxタブレットを使っている人なら、タッチスクリーン入力の問題にぶつかるはずです。スクリーンキーボードで中国語を入力できるのでしょうか?

通常、タッチデバイスにはユーザーが入力するための仮想キーボードがあります。Windowsには螢幕小鍵盤があります。ではLinuxは?

これは使っているLinuxデスクトップ環境と、X11かWaylandのどちらの表示プロトコルを使っているかによります。話し始めると複雑になるので、デスクトップ環境ごとに分けます。

1. デスクトップ環境ごとのタッチスクリーンキーボード
#

GNOME
#

Ubuntu、Fedora、Debianなどのディストリビューションのデフォルト環境。 最新バージョンGNOME 50

GNOME 40以降にはスクリーンキーボードが内蔵されており、X11とWaylandプロトコルの両方で使えます。

システム設定 → アクセシビリティで、スクリーンキーボードを有効にします。

これで画面をタップするとOSKキーボードが出ます。画面下から上へスワイプして開きます。

ただ、僕はGNOME内蔵のキーボードは簡素すぎると思います。GNOME擴充套件管理員を使ってGJS OSKをインストールすると、より本格的なスクリーンキーボードが手に入ります。

KDE Plasma
#

Kubuntu、Fedora Spin、openSUSE、SteamOSのデフォルトデスクトップ環境。 最新バージョンKDE Plasma 6.6

KDEのタッチキーボードは問題が多く、不安定です。少なくともKDE Plasam 6.6以降でようやく多少使いやすくなりました。

Plasma Login Managerのログイン画面にはMaliit Keyboardの仮想キーボードがあります。

X11プロトコルのKDEには、良い解決策がありません。qtvirtualkeyboardはありますが、QTフレームワークのプログラムでしか使えません。素直にonboardを入れるのがおすすめです。


WaylandプロトコルのKDEはMaliit Keyboardを使います。MeeGoの入力メソッドをベースに開発されたものです。Mallit Keyboardパッケージを手動でインストールする必要があるかもしれません:

sudo apt install maliit-keyboard

続いてシステム設定 → キーボード → 仮想キーボードで、Maliit Keyboardを有効にします。

システムトレイの入力メソッドアイコンをクリックして、キーボードを呼び出します。下へスワイプすると閉じます。

Maliit Keyboardは注音、拼音入力メソッドに対応しています。

また、Maliit KeyboardはFcitx5入力メソッドと併用できません。Maliit KeyboardとFcitx5はどちらもKDE Plasmaの仮想キーボード機構を通じて起動するため、一度に使えるのは一つだけです。

スクリーンキーボードでキーボード入力イベントをエミュレートし、Fcitx5の入力メソッドで中国語を入力したい場合は、fcitx5-oskへ切り替える必要があります。

その他のデスクトップ環境
#

まずX11プロトコルのデスクトップについて。XFCE、Cinnamon、LXQT、i3wmには独自のスクリーンキーボードがありません。ただし同じX11プロトコルなので、onboardをインストールすれば十分です。GNOME X11とKDE Plasma X11でもこのキーボードを使えます。

sudo apt install onboard

Onboardキーボードはカスタマイズ性が高く、画面サイズに合わせてレイアウトを選べます。

さらに物理キーボード入力をエミュレートできるので、Fcitx5と組み合わせて漢語拼音を入力できます。

onboardは基本的にX11デスクトップでしか使えません。Wayland環境ではXWayland経由でしか実行できず、bugも多いです。


次はWaylandプロトコルのデスクトップです。

wlrootsベースで書かれたデスクトップ環境やコンポジタでは、Sway、Hyprland、XFCE、wvkbdを使って入力します。C言語で書かれた極めてシンプルなLinuxスクリーンキーボードで、キーボード入力イベントをエミュレートできます。外観もカスタマイズできます。

PhoshにはSqueekboardキーボードが内蔵されていますが、他のデスクトップ環境では使えません。

KDE Plasma Mobile 6にはMaliit Keyboardが内蔵されています。中国語注音に対応していますが、不安定です。

Ubuntu TouchにはMaliit Keyboardが内蔵されており、中国語注音に対応しています。現時点で唯一、本当に使える入力メソッドです。Lomiriデスクトップ環境でしか使えません。

2. タッチスクリーンキーボードで中国語を入力する
#

残念ながら、Linuxのタッチスクリーンキーボードはほぼ英語にしか対応しておらず、キー上に注音を表示できません。なので、物理キーボード入力イベントをエミュレートする方式をうまく使って入力する必要があります。

GNOMEデスクトップにGJS OSKを組み合わせる例で説明します。

Fcitx5をインストールし、漢語拼音入力メソッドを有効にしてください。さらにInput Method Panelをインストールして、入力メソッドアイコンを表示します。

その後、スクリーンキーボードでCTRL + スペースキーを押して入力メソッドを切り替えるか、システムトレイのenキーボードアイコンをタップして入力メソッドを切り替えれば、英字で中国語を入力できます。

「手書き入力を文字に変換」する必要がある場合は、こちらの記事を参照してください:Linux Handwriting IDE

参考資料
#

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。