はじめに
Apple製品は好きだけど、開発用にどうしてもUbuntuにしたい!、という人、多いのではないでしょうか。
Apple製品に他OSをいれるとどうしてもついてまわるキーボード問題... 現在ネットに公開されている情報はUbuntu 14.04を対象にしたものが多かったので、Ubuntu 16.04向けに試行錯誤の結果を記載してみました。もっと良い方法があれば、是非コメントで教えてください。
Ubuntu 16.04のキーボード設定をする上での問題としては...
- Ubuntuのキーマップ設定は
xkb
に変更されました。Xmodmap
などは陳腐化されており、うまくいかないようです。 - Ubuntu 14.04以降、言語入力の仕組みが
iBus
からfxcit
に変更されました。
手順
- [修正元となるキーボード設定をApple JISにする。](###修正元となるキーボード設定をApple JISにする。)
- IMを変更する。
- CommandキーをCtrlキーに変更する。
修正元となるキーボード設定をApple JISにする。
設定のベースとなるキーボード設定をAppleのJISキーボードにします。インストール時に聞かれるはずなので、インストール時に正しく設定できていれば本手順は不要です。
キーボード設定を呼び出します。
dpkg-reconfigure keyboard-configuration
下記のように設定します。
- Apple アルミニウムキーボード (JIS)
- Japanese
- Japanese - Japanese (Macintosh)
- No toggling
- No temporaly switch
- The default for the keyboard
IMを変更する。
IMを変更し、英数キーを押せばIMがオフに、かなキーがおさればIMがオンになるようにします。
Ubuntuは14.04以降入力方法をfxcit
に変更しつつあるのですが、fxcit
は残念ながらiBus
ほど機能が充実していないようです。そこで、一旦iBus
に入力方法を戻すことにします。System setting
> Language Support
を開き、下記のように設定します。
次に、入力方法を設定します。System setting
> Text Entry
からJapanese (Mozc) (iBus)
を追加します (ウィンドウ下部+
ボタンより)。他のキーボードは消してください。
Japanese (Mozc) (iBus)
を選択すると、上記Text Entry
画面に設定ボタンが現れます。設定ボタンをクリックし、キーマップを変更します。設定画面上のKeymap style
からデフォルトとするキーマップを選び、カスタマイズします。同画面で英数ボタンに"Deactivate IME"を、かなボタンに"Activate IME"を割り当てましょう。なお、ここまで手順どおりにやっていれば、英数キーはひらがなキーとして、かなキーは英数キーとして認識されているはずですので、表示されるキー名があべこべでも大丈夫です。
最後に、Mozcが勝手にキーマップを変更しないようにしましょう。/usr/share/ibus/component/mozc.xml
を編集します (sudo vim /usr/share/ibus/component/mozc.xml
)1。
<component>
<version>2.17.2116.102+gitfd0f5b34+dfsg-1ubuntu1.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>http://code.google.com/p/mozc/</homepage>
<description>Mozc Component</description>
<engines>
<engine>
<symbol>あ</symbol>
<rank>80</rank>
<description>Mozc (Japanese Input Method)</description>
<language>ja</language>
<icon>/usr/share/ibus-mozc/product_icon.png</icon>
<setup>/usr/lib/mozc/mozc_tool --mode=config_dialog</setup>
- <layout>default</layout>
+ <layout>jp</layout>
<name>mozc-jp</name>
<longname>Mozc</longname>
</engine>
</engines>
</component>
(diffだと思ってください)
CommandキーをCtrlキーに変更する。
デフォルトの設定だと、Commandキーは"Superキー”に設定されてます。"Superキー"はWindowsにある"Windowsキー"と同じで、Unityのダッシュボードを操作したりする機能を提供します。自分はコピペとかをCommandキーですることが多いので、CommandキーもControlキーにしてしまうことにしました。(つまり、Controlキーが2つある)
xkbの設定ファイルに新たなオプションをaltwin2として追加します23 (sudo emacs /usr/share/X11/xkb/symbols/altwin2
)。
partial modifier_keys
xkb_symbols "cmd_n_ctrl" {
key <LWIN> { [ Control_L ] };
key <RWIN> { [ Control_R ] };
key <LCTL> { [ Control_L ] };
modifier_map Control { <LWIN>, <RWIN>, <LCTL> };
};
上記オプションを設定リストに追加します(sudo emacs /usr/share/X11/xkb/rules/evdev
)。
! option = symbols
grp:shift_toggle = +group(shifts_toggle)
altwin:menu = +altwin(menu)
altwin:meta_alt = +altwin(meta_alt)
altwin:alt_win = +altwin(alt_win)
altwin:ctrl_win = +altwin(ctrl_win)
altwin:ctrl_alt_win = +altwin(ctrl_alt_win)
altwin:meta_win = +altwin(meta_win)
altwin:left_meta_win = +altwin(left_meta_win)
altwin:hyper_win = +altwin(hyper_win)
altwin:alt_super_win = +altwin(alt_super_win)
altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin)
altwin:swap_alt_win = +altwin(swap_alt_win)
+ altwin2:cmd_n_ctrl = +altwin2(cmd_n_ctrl)
grab:debug = +srvr_ctrl(grab_debug)
(diffだと思ってください)
上記オプションを設定リストに追加します(/usr/share/X11/xkb/rules/evdev.lst
)。
gag md: Moldavian (Gagauz)
! option
+ altwin2:cmd_n_ctrl Win swapped with Ctrl
grp Switching to another layout
grp:switch Right Alt (while pressed)
grp:lswitch Left Alt (while pressed)
(diffだと思ってください)
最後にキーボード設定に上記追加オプションを登録します。dconfの設定になるのですが、dconf-editor
を使ってしまうと (sudo apt-get install dconf-editor
) 簡単です.dconfのorg::gnome::desktop::input-sources
を下記のように設定します。
参考 (環境)
- MacBook Pro Late 2013
- JISキーボード
- Ubuntu 16.04 Desktop
参考文献
-
Kuro_Code25, "ibus-mozcのキーボードレイアウトが英語になるトラブルの対処法" ↩
-
ZeptByteS, http://qiita.com/ZeptByteS/items/db1de2cbd940c65b8d1f ↩
-
Aleksandar Savkov, Answer to "How to swap Command and Control keys with xkb step by step?" ↩