11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

UbuntuベースOSでの、US Keyboard+mozc(+ Fcitx) による日本語変換の設定

Last updated at Posted at 2019-03-04

はじめに

  • macOSでの日本語切り替え同様の操作感が欲しい(次のWindowsでも同様にIMEはON/OFF別キーの操作になりそうですしUbuntuでも同じ環境で操作したい。
  • Fcixの機能を利用した、 mozc + キーボード 英語(US) の2つの入力メソッド切り替えではなくて、 mozc のみでの切り替えを行いたい( 入力メソッド 自体の切り替えより軽い?ことを期待。 入力メソッド 自体を切り替えるとたまに入力が変になる/取りこぼす気がする)

構成

  • Hardware : US Keyboard Notebook
  • Linux Mint 19.1 (Linux papa 4.18.0-15-generic #16~18.04.1-Ubuntu SMP Thu Feb 7 14:06:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux) ※ Ubuntu 18.04ベース
  • Fcitx
  • mozc
  • 日本語入力ONを 右ALT キー
  • 日本語入力OFFを 左ALT キー

問題点

設定方法

  1. mozc の切り替えキーの設定
  2. Fcitx からの呼び出しキーボードの設定
  3. Ubuntu側での キーマップ の変更

mozcの切替キーの設定

Mozcのツール設定ツール を選択します。
image.png

キー設定の選択編集 をクリックします
image.png

以下のように設定を行います。
image.png

  • ALTキー単体では特に利用してないため Katakana右ALT にマッピング、 Hiragana左ALT にマッピングする予定です。既存の設定は重複しないように一旦消してから行います。
  • ALT キーとしては登録できないのでUSキーボードでは存在していないキーを登録することで代替することにします。

Fcitx からの呼び出しキーボードの設定

  • Fcitxでの 入力メソッド としては mozc のみを設定します。よく英語キーボードを追加しているケースがありますが今回は利用しません。

image.png

Mozc をクリックするとキーボードレイアウトが表示されます。ここでは 英語(US) を選択します。ここで 既定の入力メソッド は選択しないでおきます。ここで設定したキーボードレイアウトでmozcが起動します。かりにOS側で英語キーボードを選択していても、ここで日本語を選択するとmozcでの入力は日本語キーボードとして認識されます。したがってここでは 英語 に指定して置くほうが無難です。
image.png

Ubuntu側での キーマップ の変更

以下のファイルを用意します

❯❯❯ ls -lR .xkb
drwxr-xr-x 2 hideaki hideaki 4096  3月  3 22:28 keymap
drwxr-xr-x 2 hideaki hideaki 4096  3月  3 23:44 symbols

.xkb/keymap:
合計 8
-rw-r--r-- 1 hideaki hideaki 297  3月  3 22:28 myxkb

.xkb/symbols:
合計 8
-rw-r--r-- 1 hideaki hideaki 114  3月  3 23:44 myswap
.xkb/keymap/myxkb.
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+us+inet(evdev)+ctrl(swap_lwin_lctl)+terminate(ctrl_alt_bksp)+myswap(swapkeys)"	};
	xkb_geometry  { include "pc(pc104)"	};
};
.xkb/symbols/myswap.
partial modifier_keys
xkb_symbols "swapkeys" {
  key <LALT>  { [ Hiragana ] };
  key <RALT>  { [ Katakana ] };
};

以下のスクリプトを用意してシステムログイン時に起動させることで有効になります。

~/dotfiles/bin/keymap-change.sh
xkbcomp -I$HOME/.xkb ~/.xkb/keymap/myxkb $DISPLAY
  • 今回利用してるLinux Mintの場合にはシステム設定の StartUp Application へ追加します。これで起動します。起動は少しまってから行っています。 image.png

  • キーボードの値が何かを知りたい場合には xev で確認することが出来ます。

加筆(2021/08/13)

Gnomeの環境で、サスペンドに入るとどうしても標準の状態に戻ってしまいます。そこでシステムワイドの変更にはなってしまいますが以下を追加します。

先程つくったmyswapをシステム側のsymbolsにコピーします

sudo cp -i ~/.xkb/symbols/myswap /usr/share/X11/xkb/symbols/

/usr/share/X11/xkb/rules/evdevの最終行に以下を追加します

mysetting:keyboard-notebook   =       +myswap(keyboard-notebook)

以下のコマンドでGnome側に設定を反映します

gsettings set org.gnome.desktop.input-sources xkb-options "['mysetting:keyboard-notebook']"

確認

ちなみにこの状態でも ALT+xx のショートカットは死んでいません。普通に使うことが出来ますなので影響あるのは単体の ALT が使えないということになります。(今のところそのことで困っていません)
実際のところ Fcitxでの 入力メソッド の切替とどの程度何が違うのかはしばらく使ってみないとわかりませんが今のところ大きな不具合はなさそうです。

  • iBusの方はそもそもこういう動作ですよね?

既知の問題

  • Chomeブラウザで 右ALTを利用した際にカーソルがウインドウを外れることがある
  • Chomeブラウザで、Facebook入力欄に「。」の入力後Enter(送信)が出来ない状態になる。イラッとする(追記 2019/03/10)
11
9
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?