「Fcitx」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (序文に「軽量の」を追加。) |
Kusanaginoturugi (トーク | 投稿記録) (→インプットメソッドモジュールの環境変数の設定: 内部リンクを訂正) |
||
(4人の利用者による、間の27版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:インプットメソッド]] |
[[en:Fcitx]] |
[[en:Fcitx]] |
||
[[zh-hans:Fcitx]] |
[[zh-hans:Fcitx]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
+ | {{Related|Fcitx5}} |
||
{{Related|IBus}} |
{{Related|IBus}} |
||
{{Related|SCIM}} |
{{Related|SCIM}} |
||
8行目: | 9行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
[https://fcitx-im.org/wiki/Fcitx Fcitx] (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供する軽量の [[Wikipedia:ja:インプットメソッド|インプットメソッドフレームワーク]] です。多くの言語をサポートし便利な non-CJK 機能が含まれています。 |
[https://fcitx-im.org/wiki/Fcitx Fcitx] (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供する軽量の [[Wikipedia:ja:インプットメソッド|インプットメソッドフレームワーク]] です。多くの言語をサポートし便利な non-CJK 機能が含まれています。 |
||
+ | |||
+ | {{Warning|Fcitx は現在メンテナンスモードになっています、代わりに [[Fcitx5]] を使用することをお勧めします。}} |
||
==インストール== |
==インストール== |
||
15行目: | 18行目: | ||
入力したい言語にあわせて、インプットメソッドエンジンをインストールしてください: |
入力したい言語にあわせて、インプットメソッドエンジンをインストールしてください: |
||
+ | |||
+ | ====中国語==== |
||
+ | |||
+ | * {{AUR|fcitx-baidupinyin}}: Baidu Pinyin インプットメソッドがベース。 |
||
+ | * {{Pkg|fcitx-chewing}}: {{Pkg|libchewing}} がベースの繁体字の注音入力エンジン。 |
||
+ | * {{Pkg|fcitx-cloudpinyin}}: クラウドによる中国語入力をサポート。 |
||
+ | * {{Pkg|fcitx-googlepinyin}}: {{Pkg|libgooglepinyin}} がベース。Android 用の Google ピンイン IME。 |
||
+ | * {{Pkg|fcitx-libpinyin}}: {{Pkg|libpinyin}} がベース。{{Pkg|fcitx-sunpinyin}} よりも優れたアルゴリズムが使われています。 |
||
+ | * {{Pkg|fcitx-rime}}: [[Rime IME]] プロジェクトのスキーマがベース。 |
||
+ | * {{AUR|fcitx-sogoupinyin}}: Linux 向けの捜狗インプットメソッド。同音異字、クラウド入力、英語入力、混合入力をサポート。 |
||
+ | * {{Pkg|fcitx-sunpinyin}}: {{Pkg|sunpinyin}} がベース。速度と正確性のバランスが良い。 |
||
====日本語==== |
====日本語==== |
||
25行目: | 39行目: | ||
==== 他の言語 ==== |
==== 他の言語 ==== |
||
− | * {{Pkg|fcitx-sunpinyin}}: {{Pkg|sunpinyin}} がベース。速度と正確性のバランスが良い。 |
||
− | * {{Pkg|fcitx-libpinyin}}: {{Pkg|libpinyin}} がベース。{{Pkg|fcitx-sunpinyin}} よりも優れたアルゴリズムが使われています。 |
||
− | * {{Pkg|fcitx-rime}}: [[Rime IME]] プロジェクトのスキーマがベース。 |
||
− | * {{Pkg|fcitx-googlepinyin}}: {{Pkg|libgooglepinyin}} がベース。Android 用の Google ピンイン IME。 |
||
− | * {{AUR|fcitx-sogoupinyin}}: Linux 向けの捜狗インプットメソッド。同音異字、クラウド入力、英語入力、混合入力をサポート。 |
||
− | * {{Pkg|fcitx-cloudpinyin}}: クラウドによる中国語入力をサポート。 |
||
− | * {{Pkg|fcitx-chewing}}: {{Pkg|libchewing}} がベースの繁体字の注音入力エンジン。 |
||
− | * {{Pkg|fcitx-table-extra}}: [[Wikipedia:ja:倉頡輸入法|倉頡]], [[Wikipedia:Zhengma_method|郑码]], [[Wikipedia:Boshiamy_method|嘸蝦米]]サポートを追加。 |
||
* {{Pkg|fcitx-hangul}}: {{Pkg|libhangul}} がベースの韓国語のハングル入力エンジン。 |
* {{Pkg|fcitx-hangul}}: {{Pkg|libhangul}} がベースの韓国語のハングル入力エンジン。 |
||
+ | * {{Pkg|fcitx-m17n}}: [https://www.nongnu.org/m17n/ M17n] によって提供されている他の言語の入力エンジン。 |
||
+ | * {{Pkg|fcitx-sayura}}: シンハラ文字入力エンジン。 |
||
* {{Pkg|fcitx-unikey}}: ベトナム文字入力エンジン。 |
* {{Pkg|fcitx-unikey}}: ベトナム文字入力エンジン。 |
||
− | * {{Pkg|fcitx-sayura}}: シンハラ文字入力エンジン。 |
||
− | * {{Pkg|fcitx-m17n}}: [https://www.nongnu.org/m17n/ M17n] によって提供されている他の言語の入力エンジン。 |
||
=== インプットメソッドモジュール === |
=== インプットメソッドモジュール === |
||
46行目: | 52行目: | ||
* Tk, motif, xlib などを使用するアプリケーション |
* Tk, motif, xlib などを使用するアプリケーション |
||
* [[Emacs]], [[Opera]], [[OpenOffice]], [[LibreOffice]], [[Skype]], [[Wine]], [[Java]], [[Xterm]], [[urxvt]], WPS |
* [[Emacs]], [[Opera]], [[OpenOffice]], [[LibreOffice]], [[Skype]], [[Wine]], [[Java]], [[Xterm]], [[urxvt]], WPS |
||
− | |||
− | === スキン === |
||
− | fcitx にはスキンで外観をカスタマイズする機能があります。標準では dark, classic, default の3つのスキンのみが提供されています。 |
||
− | |||
− | しかしながら、いくつかの追加スキンが [[AUR]] からインストールできます。以下はその一部です: |
||
− | |||
− | * {{AUR|fcitx-skin-material}}: マテリアルデザイン風の fcitx スキン。 |
||
− | * {{AUR|fcitx-skins}}: 8個のスキンを含んだリッチなパッケージ。 |
||
=== その他 === |
=== その他 === |
||
* {{Pkg|fcitx-ui-light}}: fcitx の軽量 UI。 |
* {{Pkg|fcitx-ui-light}}: fcitx の軽量 UI。 |
||
+ | * {{Pkg|fcitx-table-extra}}: [[Wikipedia:ja:倉頡輸入法|倉頡]], [[Wikipedia:Zhengma_method|郑码]], [[Wikipedia:Boshiamy_method|嘸蝦米]]サポートを追加。 |
||
− | * {{Pkg|fcitx-fbterm}}{{Broken package link|{{aur-mirror|fcitx-fbterm}}}}: Fbterm のサポート。 |
||
− | * {{Pkg|fcitx-table-other}}: |
+ | * {{Pkg|fcitx-table-other}}: LaTeX, 絵文字など。 |
* {{AUR|fcitx-tablet}}: 手書きのタブレットサポート。 |
* {{AUR|fcitx-tablet}}: 手書きのタブレットサポート。 |
||
* {{AUR|fcitx-tsundere}}: 文字を入力した後に何某かを追加するモジュール。 |
* {{AUR|fcitx-tsundere}}: 文字を入力した後に何某かを追加するモジュール。 |
||
* {{Pkg|kcm-fcitx}}: fcitx の KDE 設定モジュール。 |
* {{Pkg|kcm-fcitx}}: fcitx の KDE 設定モジュール。 |
||
+ | * [[#設定ツール]] |
||
fcitx のコンポーネントをインストールした後は fcitx の再起動が必要です。 |
fcitx のコンポーネントをインストールした後は fcitx の再起動が必要です。 |
||
== 使用方法 == |
== 使用方法 == |
||
+ | {{Note|対応する文字を入力できるように、[[フォント#中国語、日本語、ハングル、ベトナム語|中国語、日本語、ハングル、ベトナム語 フォント]] がインストールされている必要があります。}} |
||
− | === デスクトップ環境 === |
+ | === デスクトップ環境での自動起動 === |
[[KDE]], [[GNOME]] (X 上で動作している場合), [[Xfce]], [[LXDE]] などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください: |
[[KDE]], [[GNOME]] (X 上で動作している場合), [[Xfce]], [[LXDE]] などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください: |
||
84行目: | 84行目: | ||
xim サポートのある他のインプットメソッドが動作していると、Fcitx は xim エラーで起動できません。Fcitx を起動する前に他のインプットメソッドが動いていないことを確認してください。 |
xim サポートのある他のインプットメソッドが動作していると、Fcitx は xim エラーで起動できません。Fcitx を起動する前に他のインプットメソッドが動いていないことを確認してください。 |
||
− | === |
+ | === インプットメソッドモジュールの環境変数の設定 === |
+ | インプットメソッドモジュールを登録するために、以下の環境変数を[[環境変数#グラフィック環境変数|セット]]します。 |
||
− | 以下の行をデスクトップのスタートアップスクリプトファイル (GDM, LightDM, SDDM を使っている場合は {{ic|.xprofile}} もしくは {{ic|.profile}}、startx や Slim を使っている場合は {{ic|.xinitrc}}、Wayland を使っている場合は {{ic|/etc/environment}}) に追加してください。この設定で、fcitx は gtk/qt のインプットメソッドモジュールを使うようになり xim プログラムをサポートします (必要なインプットメソッドモジュールがすでにインストールされているか確認してください): |
||
+ | {{bc|1= |
||
− | export GTK_IM_MODULE=fcitx |
||
− | + | GTK_IM_MODULE=fcitx |
|
− | + | QT_IM_MODULE=fcitx |
|
+ | XMODIFIERS=@im=fcitx |
||
+ | }} |
||
+ | ただし、Qt5 アプリケーションは XIM をサポートしていないため、IM モジュールのインストールが必要です。 |
||
− | fcitx プロセスが自動的に起動しない場合は、{{ic|~/.xinitrc}} に {{ic|fcitx &}} を追加する必要があるかもしれません。 |
||
+ | ''fcitx'' プロセスが自動的に起動しない場合、{{ic|~/.xinitrc}} に {{ic|fcitx &}} を追加する必要があるかもしれません。 |
||
− | {{Warning|上記の設定を {{ic|.bashrc}} でしないでください。{{ic|.bashrc}} はインタラクティブな bash セッションを初期化するときに使われます。インタラクティブでないセッションや X セッションの初期化では用いられません。さらに、{{ic|.bashrc}} で環境変数を設定すると、コマンドラインから実行した診断ツールに誤解を与えて、X セッションでは環境変数が使われていないのに正しく設定されているかのように表示されることがあります。}} |
||
+ | もし {{ic|fcitx &}} が起動しない場合は、その後に {{ic|sleep 2}} とタイプしてください。 |
||
{{Note| |
{{Note| |
||
+ | * このために {{ic|.bashrc}} を使わないようにしてください。https://mywiki.wooledge.org/DotFiles を参照。 |
||
− | * 上の設定で動かないときは {{ic|1=export DefaultIMModule=fcitx}} を追加してみて下さい。 |
||
− | * |
+ | * 全ての Qt アプリケーションで fcitx に問題がある場合、''qtconfig'' (''qtconfig-qt4'') を実行し、3番目のタブで ''Default Input Method'' コンボボックスに ''fcitx'' があることを確認します。 |
+ | }} |
||
− | * 現在、Qt5 アプリケーション + fcitx を使用する場合、上記の環境変数を {{ic|.bashrc}} ファイルにも追加しないと動作しないという報告があります (Plasma 5 を startx した場合や、gnome-shell で qt5 アプリケーションを起動した場合)。}} |
||
+ | === Xim === |
||
− | 変更を適用するためにログインしなおしてください。 |
||
+ | 任意で、上記のモジュールをインストールせずに、GTK や Qt のプログラム、あるいはその両方で [[Wikipedia:ja:X Input Method|X Input Method]] (XIM) を使用するように設定することも可能です。この場合、上記の対応する行を以下のように変更してください: |
||
− | === Xim === |
||
+ | GTK_IM_MODULE DEFAULT = xim |
||
− | 任意で、gtk や qt のプログラムで xim を使うように設定することも可能で、その場合上の行を以下のように変更してください: |
||
+ | QT_IM_MODULE DEFAULT = xim |
||
+ | {{ic|~/.xprofile}} または {{ic|~/.xinitrc}} を変更する場合は、{{ic|export}} を追加します。 |
||
− | export GTK_IM_MODULE=xim |
||
− | export QT_IM_MODULE=xim |
||
{{Warning|xim を使用するとインプットメソッドによって、入力ができなくなったりインプットメソッドを再起動するとアプリケーションがフリーズするなどの問題がおこることがあります。xim 関連の問題に対しては Fcitx は修正やサポートを提供できません。これは他のインプットメソッドフレームワークでも同じで、可能な限り xim ではなく ツールキット (gtk/qt) のインプットメソッドモジュールを使って下さい。}} |
{{Warning|xim を使用するとインプットメソッドによって、入力ができなくなったりインプットメソッドを再起動するとアプリケーションがフリーズするなどの問題がおこることがあります。xim 関連の問題に対しては Fcitx は修正やサポートを提供できません。これは他のインプットメソッドフレームワークでも同じで、可能な限り xim ではなく ツールキット (gtk/qt) のインプットメソッドモジュールを使って下さい。}} |
||
125行目: | 128行目: | ||
スペルチェックを有効にするには、fcitx が fcitx-keyboard によるインプットメソッドを使っている時に ctrl + alt + h を押して下さい。長い単語を入力すれば、動いているかどうか確認できます。 |
スペルチェックを有効にするには、fcitx が fcitx-keyboard によるインプットメソッドを使っている時に ctrl + alt + h を押して下さい。長い単語を入力すれば、動いているかどうか確認できます。 |
||
+ | |||
+ | === 入力メソッドの設定 === |
||
+ | |||
+ | GUI ツールで入力メソッドの追加/削除が可能です。大文字と小文字を区別して検索することに注意してください。 |
||
+ | |||
+ | 最初に設定された入力メソッドは非アクティブ状態、それ以外はすべてアクティブ状態になります。一般に、非アクティブ状態は ''キーボード'' オプションの1つです(例:"キーボード - 英語(US)") これらのオプションは、名前にあるキーボードレイアウトに基づいて入力するだけです。 |
||
+ | |||
+ | グローバル設定では、トリガー入力メソッドのショートカットは非アクティブ状態と最後に使用したアクティブ状態の間でしか切り替わりません。''Scroll between Input Methods'' はデフォルトでは異なるアクティブ状態間のスクロールのみですが、詳細設定で非アクティブ状態を含むように設定することもできます。さらに、''Scroll between Input Methods'' のショートカットは順番に押さなければなりません。例えば {{ic|ALT_SHIFT}} は {{ic|alt}} が {{ic|shift}} より前に押されたときのみ有効になります。 |
||
+ | |||
+ | IME の設定は、キーボードを任意の IME に設定し、トレイアイコンを右クリックすることで確認できます。 |
||
=== デフォルト UI の変更 === |
=== デフォルト UI の変更 === |
||
136行目: | 149行目: | ||
ピンイン辞書は {{ic|~/.config/fcitx/pinyin}} に存在します。{{ic|pybase.mb}} ファイルには単一文字が {{ic|pyphrase.mb}} ファイルにはピンインのフレーズが定義されています。拡張するには {{ic|/usr/share/fcitx/pinyin}} にファイルを保存して fcitx を再起動してください。 |
ピンイン辞書は {{ic|~/.config/fcitx/pinyin}} に存在します。{{ic|pybase.mb}} ファイルには単一文字が {{ic|pyphrase.mb}} ファイルにはピンインのフレーズが定義されています。拡張するには {{ic|/usr/share/fcitx/pinyin}} にファイルを保存して fcitx を再起動してください。 |
||
+ | |||
+ | === スキン === |
||
+ | |||
+ | スキンをダウンロードし、以下のディレクトリのいずれかに解凍します。ディレクトリが存在しない場合は、作成することができます。 |
||
+ | |||
+ | /usr/share/fcitx/skin #Global settings |
||
+ | ~/.config/fcitx/skin #User settings |
||
+ | |||
+ | === cloud ピンインの設定 === |
||
+ | |||
+ | {{Pkg|fcitx-cloudpinyin}} 入力メソッドをインストールした後、fcitx を再起動してください。コンフィギュレーション GUI で見つからない場合は、advanced settingsを有効にしてください。クラウドクエリの結果は自動的に現在の入力メソッドの辞書に追加されます。 |
||
+ | |||
+ | Google にアクセスできない場合は、cloud ピンインのソースを Baidu に変更します。 |
||
+ | |||
+ | cloud のクエリ結果は、デフォルトでは二次候補としてリストアップされますが、設定可能です。既に結果が存在する場合は、1件のみ表示されます。 |
||
+ | |||
+ | {{Note|クエリが空の結果を返すと辞書の順序が変わるので、クエリ結果を第一候補に設定することはお勧めしません。}} |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
||
− | === |
+ | === ショートカットキー === |
+ | |||
+ | よく使われるデフォルトのショートカットキーをいくつか紹介します。 |
||
+ | |||
+ | * {{ic|Ctrl+Space}} - 入力メソッドをアクティブにします。 |
||
+ | * {{ic|Left Shift}} - 一時的に英語に切り替わります。 |
||
+ | * {{ic|Ctrl+Shift}} - 入力方式を切り替えます。 |
||
+ | * {{ic|-}}/{{ic|1==}} - ページ送り/戻し |
||
+ | * {{ic|Shift+Space}} - 全角・半角切り替え |
||
+ | |||
+ | {{Note|これらのショートカットキーは、設定インタフェースのグローバルコンフィギュレーションで変更することができます。}} |
||
+ | |||
+ | === Vim === |
||
+ | |||
+ | Vim で Fcitx をよく使う場合、{{AUR|vim-fcitx}} プラグインをインストールするか、以下のコードを {{ic|~/.vimrc}} に追加してください。挿入モードを終了するときは Fcitx は自動的に閉じられ、そうでないときはその逆です。 |
||
+ | |||
+ | "##### auto fcitx ########### |
||
+ | let g:input_toggle = 1 |
||
+ | function! Fcitx2en() |
||
+ | let s:input_status = system("fcitx-remote") |
||
+ | if s:input_status == 2 |
||
+ | let g:input_toggle = 1 |
||
+ | let l:a = system("fcitx-remote -c") |
||
+ | endif |
||
+ | endfunction |
||
+ | |||
+ | function! Fcitx2zh() |
||
+ | let s:input_status = system("fcitx-remote") |
||
+ | if s:input_status != 2 && g:input_toggle == 1 |
||
+ | let l:a = system("fcitx-remote -o") |
||
+ | let g:input_toggle = 0 |
||
+ | endif |
||
+ | endfunction |
||
+ | |||
+ | set ttimeoutlen=150 |
||
+ | "Exit insert mode |
||
+ | autocmd InsertLeave * call Fcitx2en() |
||
+ | "Enter insert mode |
||
+ | autocmd InsertEnter * call Fcitx2zh() |
||
+ | "##### auto fcitx end ###### |
||
+ | |||
+ | {{Note|外部プログラムを呼び出すため、挿入モードの入出力を繰り返すマッピングの速度が著しく低下します。該当するマッピングを書き換え、fcitx.vim と併用して Python をサポートした Vim を使用することで効率を上げることが出来ます。}} |
||
+ | |||
+ | === クリップボード === |
||
+ | |||
+ | [https://www.csslayer.info/wordpress/fcitx-dev/fcitx-clipboard/ Fcitx にはクリップボードが付属しています]、ショートカットキーは {{ic|Ctrl+;}} です。 |
||
+ | |||
+ | === 特殊記号 === |
||
+ | |||
+ | {{ic|~/.config/fcitx/data/pySym.mb}} を作成し、ファイルの内容は以下の通りです。 |
||
+ | |||
+ | #The first line with "#" is a comment |
||
+ | #Format: coding symbol |
||
+ | #Code can only be lowercase letters, after pinyin analysis, the longest is 10 (such as py is 2, pinyin is also 2) |
||
+ | #Mathematics symbols |
||
+ | sxfh + |
||
+ | sxfh - |
||
+ | sxfh < |
||
+ | sxfh = |
||
+ | sxfh > |
||
+ | sxfh ± |
||
+ | sxfh × |
||
+ | sxfh ÷ |
||
+ | sxfh ∈ |
||
+ | sxfh ∏ |
||
+ | sxfh ∑ |
||
+ | sxfh ∕ |
||
+ | sxfh √ |
||
+ | sxfh ∝ |
||
+ | |||
+ | 対応する特殊記号と一致するコードを直接入力してください。 |
||
+ | |||
+ | {{Note|エンコーディングは小文字の26文字で表現され、v で始まる文字は無効です。}} |
||
+ | |||
+ | === クリップボードアクセス === |
||
fcitx を使ってクリップボード (とクリップボード履歴) にある文章を入力することが可能です。デフォルトのトリガーキーは Control-; です。このトリガーキーはクリップボードのアドオンの設定ページにある他のオプションと同じように設定することが可能です。 |
fcitx を使ってクリップボード (とクリップボード履歴) にある文章を入力することが可能です。デフォルトのトリガーキーは Control-; です。このトリガーキーはクリップボードのアドオンの設定ページにある他のオプションと同じように設定することが可能です。 |
||
146行目: | 250行目: | ||
{{Warning|クライアントによっては複数行の入力をサポートしていないため fcitx-clipboard を使ってクリップボードの中身をペーストすると一行しか出ないことがあります。これはバグかプログラムの方の入力の問題なので fcitx は何もできません。}} |
{{Warning|クライアントによっては複数行の入力をサポートしていないため fcitx-clipboard を使ってクリップボードの中身をペーストすると一行しか出ないことがあります。これはバグかプログラムの方の入力の問題なので fcitx は何もできません。}} |
||
+ | === fcitx-remote(リモート) === |
||
− | ==トラブルシューティング== |
||
+ | |||
+ | ''fcitx-remote'' は fcitx の状態を制御するために使用することができるコマンドラインツールです。{{Pkg|fcitx}} パッケージと一緒にインストールされます。 |
||
+ | |||
+ | ここで詳しく説明する価値のあるオプションは {{ic|fcitx-remote -s ''imname''}} で、これは {{ic|''imname''}} で特定される入力メソッドに切り替わります。使用中の入力メソッドに対する正しい {{ic|''imname''}} は、 ''fcitx-diagnose'' を実行し、 "## インプットメソッド:" セクションで確認することができます。 |
||
+ | |||
+ | === 特殊文字入力 === |
||
+ | |||
+ | [[Fcitx5#特殊文字を入力]] を参照してください。この内容は Fcitx にも適用されます。 |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | === ''トリガー入力方法の追加キー'' を無効化または変更する [sic] === |
||
+ | |||
+ | この設定は ''Global Config'' タブにあり、デフォルトは ''SHIFT 左右'' です。つまり、どちらかのシフトキーを押せばすぐに入力方法が変わるということです。本来はシフトキーを個別に押した場合にのみ適用されるはずですが、標準的なキーボード入力を使用しているときに大文字の入力やキーボードによるテキスト選択などがランダムに中断される傾向があります。 |
||
+ | |||
+ | また、この設定は、いつでも警告なしにデフォルトに戻る可能性があります。fcitx の設定を変更できないようにするためには、fcitx の設定ファイルを ”不変" にする必要があります。{{ic|chattr +i ~/.config/fcitx/config}} (rootユーザで) |
||
+ | |||
=== 問題の診断 === |
=== 問題の診断 === |
||
fcitx を使っていて問題が発生する場合、例えばどのアプリケーションでも Ctrl+Space が使えないときは、{{ic|fcitx-diagnose}} を使ってまず問題を診断してみてください。{{ic|fcitx-diagnose}} はよくある問題についての手がかりを提供してくれます。また、(IRC やフォーラムなどで) 他の人に相談するときはコマンドの出力を貼り付けると役に立つはずです。 |
fcitx を使っていて問題が発生する場合、例えばどのアプリケーションでも Ctrl+Space が使えないときは、{{ic|fcitx-diagnose}} を使ってまず問題を診断してみてください。{{ic|fcitx-diagnose}} はよくある問題についての手がかりを提供してくれます。また、(IRC やフォーラムなどで) 他の人に相談するときはコマンドの出力を貼り付けると役に立つはずです。 |
||
− | ===Emacs=== |
+ | === Emacs === |
{{ic|LC_CTYPE}} が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に {{ic|ja_JP.UTF-8}} など {{ic|LC_CTYPE}} を他の値に設定することで問題を回避できます。 |
{{ic|LC_CTYPE}} が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に {{ic|ja_JP.UTF-8}} など {{ic|LC_CTYPE}} を他の値に設定することで問題を回避できます。 |
||
171行目: | 292行目: | ||
ロケールを英語に設定しているとこの問題が発生することがあります。GTK_IM_MODULE が正しく設定されているか確認してください。 |
ロケールを英語に設定しているとこの問題が発生することがあります。GTK_IM_MODULE が正しく設定されているか確認してください。 |
||
− | 参照: [ |
+ | 参照: [https://fcitx-im.org/wiki/FAQ#When_use_Ctrl_.2B_Space.2C_Fcitx_cannot_be_triggered_on FAQ] |
*_IM_MODULE 環境変数を設定していても fcitx が有効にできない場合は、適切なインプットメソッドモジュールをインストールしているか確認してください。 |
*_IM_MODULE 環境変数を設定していても fcitx が有効にできない場合は、適切なインプットメソッドモジュールをインストールしているか確認してください。 |
||
222行目: | 343行目: | ||
Fcitx はキーボードレイアウトを制御するため、xmodmap の設定は上書きされてしまいます。4.2.7 から、Fcitx は {{ic|~/.Xmodmap}} のロードを行うようになります。 |
Fcitx はキーボードレイアウトを制御するため、xmodmap の設定は上書きされてしまいます。4.2.7 から、Fcitx は {{ic|~/.Xmodmap}} のロードを行うようになります。 |
||
− | xmodmap の変更を保存する方法については [ |
+ | xmodmap の変更を保存する方法については [https://fcitx-im.org/wiki/FAQ#xmodmap_settings_being_overwritten FAQ] を参照してください。 |
+ | |||
+ | === HiDPI 環境では Fcitx の preedit box が小さすぎる === |
||
+ | |||
+ | こちらを参照 [[HiDPI#Fcitx]] |
||
==参照== |
==参照== |
||
*[https://github.com/fcitx/fcitx/ Fcitx GitHub] |
*[https://github.com/fcitx/fcitx/ Fcitx GitHub] |
||
− | *[ |
+ | *[https://fcitx-im.org/ Fcitx Wiki] |
2022年12月12日 (月) 10:31時点における版
Fcitx (Flexible Input Method Framework) は Linux に環境非依存の言語サポートを提供する軽量の インプットメソッドフレームワーク です。多くの言語をサポートし便利な non-CJK 機能が含まれています。
インストール
fcitx は公式リポジトリから Pacman でインストールできます。
インプットメソッドエンジン
入力したい言語にあわせて、インプットメソッドエンジンをインストールしてください:
中国語
- fcitx-baidupinyinAUR: Baidu Pinyin インプットメソッドがベース。
- fcitx-chewing: libchewing がベースの繁体字の注音入力エンジン。
- fcitx-cloudpinyin: クラウドによる中国語入力をサポート。
- fcitx-googlepinyin: libgooglepinyin がベース。Android 用の Google ピンイン IME。
- fcitx-libpinyin: libpinyin がベース。fcitx-sunpinyin よりも優れたアルゴリズムが使われています。
- fcitx-rime: Rime IME プロジェクトのスキーマがベース。
- fcitx-sogoupinyinAUR: Linux 向けの捜狗インプットメソッド。同音異字、クラウド入力、英語入力、混合入力をサポート。
- fcitx-sunpinyin: sunpinyin がベース。速度と正確性のバランスが良い。
日本語
- fcitx-anthy: 人気の日本語入力エンジン。開発は停止しています。
- fcitx-mozc: Google 日本語入力のオープンソース版である Mozc がベース。
- fcitx-kkc: libkkc がベースの新しい日本語仮名漢字入力エンジン。
- fcitx-skk: libskk がベースの日本語仮名漢字入力エンジン。
他の言語
- fcitx-hangul: libhangul がベースの韓国語のハングル入力エンジン。
- fcitx-m17n: M17n によって提供されている他の言語の入力エンジン。
- fcitx-sayura: シンハラ文字入力エンジン。
- fcitx-unikey: ベトナム文字入力エンジン。
インプットメソッドモジュール
GTK+ や Qt プログラムでより良い動作を得るには、必要に応じて fcitx-qt4AUR, fcitx-qt5 パッケージをインストールしてください。もしくは fcitx-im グループで全てのパッケージをインストールできます。モジュールをインストールしなくてもアプリケーション上でインプットメソッドは動作しますが、フリーズしたりプレビューウィンドウの位置がおかしくなったり、プレビューが表示されなくなったりします。
以下のアプリケーションは GTK+/Qt インプットモジュールを使用しません:
- Tk, motif, xlib などを使用するアプリケーション
- Emacs, Opera, OpenOffice, LibreOffice, Skype, Wine, Java, Xterm, urxvt, WPS
その他
- fcitx-ui-light: fcitx の軽量 UI。
- fcitx-table-extra: 倉頡, 郑码, 嘸蝦米サポートを追加。
- fcitx-table-other: LaTeX, 絵文字など。
- fcitx-tabletAUR: 手書きのタブレットサポート。
- fcitx-tsundereAUR: 文字を入力した後に何某かを追加するモジュール。
- kcm-fcitx: fcitx の KDE 設定モジュール。
- #設定ツール
fcitx のコンポーネントをインストールした後は fcitx の再起動が必要です。
使用方法
デスクトップ環境での自動起動
KDE, GNOME (X 上で動作している場合), Xfce, LXDE などの XDG 互換のデスクトップ環境を使っている場合は、再ログインで自動的に起動するようになるはずです。起動しないときは、ターミナルを開いて次のように入力してください:
$ fcitx-autostart
fcitx が正しく動作しているか確認するために、leafpad といったアプリケーションを開いて Ctrl+Space
(インプットメソッドの切り替えのデフォルトのショートカット) を押して FCITX を呼び出しなにか文字を入力してみて下さい。
Fcitx があなたの環境で自動で起動しない場合や fcitx を起動するパラメータを変更したい場合は、デスクトップ環境によって提供されているツールを使って xdg の自動起動を設定するか ~/.config/autostart/
ディレクトリ内の fcitx-autostart.desktop
ファイルを編集してください (存在しないときは /etc/xdg/autostart/
からコピーしてください)。
デスクトップ環境が xdg 自動起動をサポートしていない場合は、(環境変数を正しく設定した後に) 次の行をスタートアップスクリプトに追加してください:
$ fcitx-autostart
xim サポートのある他のインプットメソッドが動作していると、Fcitx は xim エラーで起動できません。Fcitx を起動する前に他のインプットメソッドが動いていないことを確認してください。
インプットメソッドモジュールの環境変数の設定
インプットメソッドモジュールを登録するために、以下の環境変数をセットします。
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
ただし、Qt5 アプリケーションは XIM をサポートしていないため、IM モジュールのインストールが必要です。
fcitx プロセスが自動的に起動しない場合、~/.xinitrc
に fcitx &
を追加する必要があるかもしれません。
もし fcitx &
が起動しない場合は、その後に sleep 2
とタイプしてください。
Xim
任意で、上記のモジュールをインストールせずに、GTK や Qt のプログラム、あるいはその両方で X Input Method (XIM) を使用するように設定することも可能です。この場合、上記の対応する行を以下のように変更してください:
GTK_IM_MODULE DEFAULT = xim QT_IM_MODULE DEFAULT = xim
~/.xprofile
または ~/.xinitrc
を変更する場合は、export
を追加します。
変更を適用するためにログインしなおしてください。
設定
設定ツール
Fcitx は GUI の設定ツールを提供しています。kcm-fcitx (KDE) または fcitx-configtool (GTK+3 ベース) がインストールできます。fcitx-configtool をインストールしたら fcitx-config-gtk3 を起動してください。別の言語のインプットメソッドを使用したいときは Only Show Current Language の設定を解除してください。
設定を変更する前に fcitx は停止してください。停止しないと変更が反映されません。
スペルチェックを有効にするには、fcitx が fcitx-keyboard によるインプットメソッドを使っている時に ctrl + alt + h を押して下さい。長い単語を入力すれば、動いているかどうか確認できます。
入力メソッドの設定
GUI ツールで入力メソッドの追加/削除が可能です。大文字と小文字を区別して検索することに注意してください。
最初に設定された入力メソッドは非アクティブ状態、それ以外はすべてアクティブ状態になります。一般に、非アクティブ状態は キーボード オプションの1つです(例:"キーボード - 英語(US)") これらのオプションは、名前にあるキーボードレイアウトに基づいて入力するだけです。
グローバル設定では、トリガー入力メソッドのショートカットは非アクティブ状態と最後に使用したアクティブ状態の間でしか切り替わりません。Scroll between Input Methods はデフォルトでは異なるアクティブ状態間のスクロールのみですが、詳細設定で非アクティブ状態を含むように設定することもできます。さらに、Scroll between Input Methods のショートカットは順番に押さなければなりません。例えば ALT_SHIFT
は alt
が shift
より前に押されたときのみ有効になります。
IME の設定は、キーボードを任意の IME に設定し、トレイアイコンを右クリックすることで確認できます。
デフォルト UI の変更
Fcitx は kimpanel プロトコルによるデスクトップの統合をサポートしています。
- Gnome-Shell: extensions.gnome.org や gnome-shell-extension-kimpanel-gitAUR パッケージから kimpanel をインストールでき、ibus-gjs と同じように使うことができます。
- KDE: kimtoy は Sogou や fcitx のスキンを使えます。
ピンイン辞書の拡張
ピンイン辞書は ~/.config/fcitx/pinyin
に存在します。pybase.mb
ファイルには単一文字が pyphrase.mb
ファイルにはピンインのフレーズが定義されています。拡張するには /usr/share/fcitx/pinyin
にファイルを保存して fcitx を再起動してください。
スキン
スキンをダウンロードし、以下のディレクトリのいずれかに解凍します。ディレクトリが存在しない場合は、作成することができます。
/usr/share/fcitx/skin #Global settings ~/.config/fcitx/skin #User settings
cloud ピンインの設定
fcitx-cloudpinyin 入力メソッドをインストールした後、fcitx を再起動してください。コンフィギュレーション GUI で見つからない場合は、advanced settingsを有効にしてください。クラウドクエリの結果は自動的に現在の入力メソッドの辞書に追加されます。
Google にアクセスできない場合は、cloud ピンインのソースを Baidu に変更します。
cloud のクエリ結果は、デフォルトでは二次候補としてリストアップされますが、設定可能です。既に結果が存在する場合は、1件のみ表示されます。
ヒントとテクニック
ショートカットキー
よく使われるデフォルトのショートカットキーをいくつか紹介します。
Ctrl+Space
- 入力メソッドをアクティブにします。Left Shift
- 一時的に英語に切り替わります。Ctrl+Shift
- 入力方式を切り替えます。-
/=
- ページ送り/戻しShift+Space
- 全角・半角切り替え
Vim
Vim で Fcitx をよく使う場合、vim-fcitxAUR プラグインをインストールするか、以下のコードを ~/.vimrc
に追加してください。挿入モードを終了するときは Fcitx は自動的に閉じられ、そうでないときはその逆です。
"##### auto fcitx ########### let g:input_toggle = 1 function! Fcitx2en() let s:input_status = system("fcitx-remote") if s:input_status == 2 let g:input_toggle = 1 let l:a = system("fcitx-remote -c") endif endfunction function! Fcitx2zh() let s:input_status = system("fcitx-remote") if s:input_status != 2 && g:input_toggle == 1 let l:a = system("fcitx-remote -o") let g:input_toggle = 0 endif endfunction set ttimeoutlen=150 "Exit insert mode autocmd InsertLeave * call Fcitx2en() "Enter insert mode autocmd InsertEnter * call Fcitx2zh() "##### auto fcitx end ######
クリップボード
Fcitx にはクリップボードが付属しています、ショートカットキーは Ctrl+;
です。
特殊記号
~/.config/fcitx/data/pySym.mb
を作成し、ファイルの内容は以下の通りです。
#The first line with "#" is a comment #Format: coding symbol #Code can only be lowercase letters, after pinyin analysis, the longest is 10 (such as py is 2, pinyin is also 2) #Mathematics symbols sxfh + sxfh - sxfh < sxfh = sxfh > sxfh ± sxfh × sxfh ÷ sxfh ∈ sxfh ∏ sxfh ∑ sxfh ∕ sxfh √ sxfh ∝
対応する特殊記号と一致するコードを直接入力してください。
クリップボードアクセス
fcitx を使ってクリップボード (とクリップボード履歴) にある文章を入力することが可能です。デフォルトのトリガーキーは Control-; です。このトリガーキーはクリップボードのアドオンの設定ページにある他のオプションと同じように設定することが可能です。
fcitx-remote(リモート)
fcitx-remote は fcitx の状態を制御するために使用することができるコマンドラインツールです。fcitx パッケージと一緒にインストールされます。
ここで詳しく説明する価値のあるオプションは fcitx-remote -s imname
で、これは imname
で特定される入力メソッドに切り替わります。使用中の入力メソッドに対する正しい imname
は、 fcitx-diagnose を実行し、 "## インプットメソッド:" セクションで確認することができます。
特殊文字入力
Fcitx5#特殊文字を入力 を参照してください。この内容は Fcitx にも適用されます。
トラブルシューティング
トリガー入力方法の追加キー を無効化または変更する [sic]
この設定は Global Config タブにあり、デフォルトは SHIFT 左右 です。つまり、どちらかのシフトキーを押せばすぐに入力方法が変わるということです。本来はシフトキーを個別に押した場合にのみ適用されるはずですが、標準的なキーボード入力を使用しているときに大文字の入力やキーボードによるテキスト選択などがランダムに中断される傾向があります。
また、この設定は、いつでも警告なしにデフォルトに戻る可能性があります。fcitx の設定を変更できないようにするためには、fcitx の設定ファイルを ”不変" にする必要があります。chattr +i ~/.config/fcitx/config
(rootユーザで)
問題の診断
fcitx を使っていて問題が発生する場合、例えばどのアプリケーションでも Ctrl+Space が使えないときは、fcitx-diagnose
を使ってまず問題を診断してみてください。fcitx-diagnose
はよくある問題についての手がかりを提供してくれます。また、(IRC やフォーラムなどで) 他の人に相談するときはコマンドの出力を貼り付けると役に立つはずです。
Emacs
LC_CTYPE
が英語の場合、emacs のバグによって emacs でインプットメソッドが使えなくなることがあります。emacs を起動する前に ja_JP.UTF-8
など LC_CTYPE
を他の値に設定することで問題を回避できます。
使用するロケールは有効である必要があります。/etc/locale.gen
を編集して適当な行 (例: ja_JP.UTF-8
) をアンコメントし、locale-gen
を実行してください。
デフォルトのフォントセットはベースフォントとして -*-*-*-r-normal--14-*-*-*-*-*-*-*
を使います (src/xfns.c)。マッチするフォント (terminus や 75dpi など、xlsfonts
の出力を見て下さい) がない場合、XIM は有効になりません。
Emacs デーモン
emacs デーモン/クライアントモードを使う場合、デーモンの起動時に LC_CTYPE
を設定してください。例えば LC_CTYPE=ja_JP.UTF-8 emacs --daemon
というコマンドを使って emacs デーモンを起動します。
systemd から emacs デーモンを起動している場合、ユニットファイルで以下のように Environment を設定してください:
Environment="LC_CTYPE=ja_JP.UTF-8" "XMODIFIERS=@im=fcitx"
systemd は .xprofile
をロードしないため XMODIFIERS は明示的に設定する必要があります。emacs で initial-environment
変数をチェックして変数が両方とも正しく設定されていることを確認してください。
Ctrl+Space が GTK のプログラムで機能しない
ロケールを英語に設定しているとこの問題が発生することがあります。GTK_IM_MODULE が正しく設定されているか確認してください。
参照: FAQ
- _IM_MODULE 環境変数を設定していても fcitx が有効にできない場合は、適切なインプットメソッドモジュールをインストールしているか確認してください。
プログラムによっては xim しか使わないため、そうしたプログラムを使っているときは、XMODIFIERS が正しく設定されているか確認してください。プログラムの例: gtk や qt を使わないプログラム全て (例: tk や motif、もしくは xlib を直接使っているプログラム), emacs, opera, openoffice, libreoffice, skype。
gnome の gnome-terminal で fcitx が有効にできず、上の方法で効果がない場合は、以下のコマンドを試してみて下さい:
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
内蔵の Chinese Pinyin がデフォルトで有効にならない
ロケールが en_US.UTF-8
である場合、fcitx は内蔵の Chinese Pinyin インプットメソッドをデフォルトで有効にしません。fcitx-keyboard-us
インプットメソッドだけが有効にされます。fcitx-diagnose
コマンドを実行すると以下のように表示されます:
## Input Methods: 1. Found 1 enabled input methods: fcitx-keyboard-us 2. Default input methods: **You only have one input method enabled, please add a keyboard input method as the first one and your main input method as the second one.**
GUI の設定ツールで Pinyin
や Shuangpin
インプットメソッドを追加してインプットメソッドが有効にしてください。
fcitx と KDE
何らかの理由で、KDE がキーボードレイアウトを適切に扱えないことがあります。例えば、US (English) から LT (Lithuanian) に切り替えた場合、キーボードの数字キーは全てリトアニア文字になるはずですが、数字が出力されてしまいます。以下の手順で修正することが可能です:
- 上のセクションで書かれているパッケージをインストールしてください。
- バックグラウンドで
fcitx
を動かしている場合は終了してください。 - KDE に関連することを無効にします:
- System settings --> Input devices --> Layouts (tab) から "Configure layouts" のチェックを外して下さい。
- System settings --> Input devices --> Advanced (tab) から "Configure keyboard options" のチェックを外して下さい。
- ターミナルを開いて
fcitx
と入力して fcitx を起動します。ターミナルは閉じてもかまいません。fcitx
はバックグラウンドで動作し続けます。 - 必要なレイアウトを設定してください (システムトレイアイコンを右クリックして "Configure" をクリック)。
- システムトレイアイコンを右クリックして、"Exit" をクリック。
これでレイアウトがちゃんと使えるようになるはずです。KDE のレイアウト切り替えrアイコンが表示され、マウススクロールしたりアイコンをクリックすることでレイアウトを切り替えられます。
勝手にインプットメソッドが英語に切り替わってしまう
XMind でエンターを押してノードを作成したときなど、インプットメソッドが勝手に英語に切り替わってしまって、元のインプットメソッドに手動で戻さなくてはならないことがあります。
この問題を修正するには、fcitx の GUI 設定ツール (fcitx-configtool に含まれています) を開いて、"Global Config" タブの "Share State Among Window" ドロップダウンメニューから、"PerProgram" または "All" を選択してください。
GNOME/Wayland 上での Fcitx の利用
Wayland は ~/.xprofile
に保管された環境変数を読み込むことができないため、Wayland 上で Fcitx を使うときは /etc/environment
で環境変数を設定してください。
xmodmap の設定が上書きされる
Fcitx はキーボードレイアウトを制御するため、xmodmap の設定は上書きされてしまいます。4.2.7 から、Fcitx は ~/.Xmodmap
のロードを行うようになります。
xmodmap の変更を保存する方法については FAQ を参照してください。
HiDPI 環境では Fcitx の preedit box が小さすぎる
こちらを参照 HiDPI#Fcitx