HHKB Lite2をUbuntu18.04で使えるように設定した


先日HHKB Lite2(US)というキーボードを買ったので、Ubuntu18.04 (GUI)に設定する際に自分がやったことなどをまとめておくいわゆる備忘録的なものです。

キーボードの設定

基本的にと同じことをしています。
まずHHKBの場合"Shift + 2"が"@"だったりUS配列なので"¥"が無かったりするので、HHKB用のキー配列にします。
下のコマンドでキーボードの設定ができます。rootで実行する必要があるのでsudoを入れて実行します。
$ sudo dpkg-reconfigure keyboard-configuration

Happy Hackingを選びます。

US配列を選びます。

その後にいろいろ設定できますが、そのままで大丈夫だと思います。

keyboardの設定が正しくできているか、下のコマンドで確認できます。
$ cat /etc/default/keyboard

上記の設定だとこうなりました。

XKBLAYOUT="us"
BACKSPACE="guess"
XKBMODEL="hhk"
XKBVARIANT=""
XKBOPTIONS=""

Mozcの設定

次にMozcの設定をします。

$ sudo vim /usr/share/ibus/component/mozc.xmlでmozcの設定ファイルを開きます。
vimはiでテキストの編集、escでテキスト編集の終了、:wqで保存してvimを終了できます。

<layout>default</layout><layout>en</layout> に変えます。

<component>
  <version>2.20.2673.102+dfsg-2ubuntu0.18.04.1</version>
  <name>com.google.IBus.Mozc</name>
  <license>New BSD</license>
  <exec>/usr/lib/ibus-mozc/ibus-engine-mozc --ibus</exec>
  <textdomain>ibus-mozc</textdomain>
  <author>Google Inc.</author>
  <homepage>https://github.com/google/mozc</homepage>
  <description>Mozc Component</description>
<engines>
<engine>
  <description>Mozc (Japanese Input Method)</description>
  <language>ja</language>
  <symbol>&#x3042;</symbol>
  <rank>80</rank>
  <icon_prop_key>InputMode</icon_prop_key>
  <icon>/usr/share/ibus-mozc/product_icon.png</icon>
  <setup>/usr/lib/mozc/mozc_tool --mode=config_dialog</setup>
  <layout>en</layout>
  <name>mozc-jp</name>
  <longname>Mozc</longname>
</engine>
</engines>

fcitxの設定

まず、fcitxの設定をアプリケーションから開きます。

※fcitxの設定を開いても入力メソッドが表示されない場合、fcitxを実行する必要があります。
自分はUbuntuを立ち上げたときに自動で起動できるよう、自動起動するアプリケーションの設定にfcitxを登録しました。

また、XIM 開始エラー: ibus という他の XIM が動いていませんか?といったエラーが出た場合、キーボード入力に使うIMシステムをiBusからfcitxに変更する必要があります。

入力メソッドが表示されたら、入力メソッドを直接入力と日本語入力のできるmozcのみにします。

mozcを選択すると、オプションアイコンからキーボードのレイアウトを設定できるので、US配列に変更します。

全角半角キーの登録

US配列では全角半角キーの切り替えができないのでmozcの設定からキーに割り当てます。

上のプロパティのキー設定の選択からMS-IMEを選択、編集からIMEの有効/無効の切り替えを割り当てます。

IMEの有効化Shift + SpaceIMEの無効化Ctrl + Speceに設定しました。

画面右上でIMEが変わっているのが確認できたらOKです。

次にxmodmapを使ったキーの登録をしていきます。