Help us understand the problem. What is going on with this article?

Ubuntu 16.04のキーボード設定をMacBook向けにしてみる

More than 3 years have passed since last update.

はじめに

Apple製品は好きだけど、開発用にどうしてもUbuntuにしたい!、という人、多いのではないでしょうか。

Apple製品に他OSをいれるとどうしてもついてまわるキーボード問題... 現在ネットに公開されている情報はUbuntu 14.04を対象にしたものが多かったので、Ubuntu 16.04向けに試行錯誤の結果を記載してみました。もっと良い方法があれば、是非コメントで教えてください。

Ubuntu 16.04のキーボード設定をする上での問題としては...

  • Ubuntuのキーマップ設定はxkbに変更されました。Xmodmapなどは陳腐化されており、うまくいかないようです。
  • Ubuntu 14.04以降、言語入力の仕組みがiBusからfxcitに変更されました。

手順

  1. 修正元となるキーボード設定をApple JISにする。
  2. IMを変更する。
  3. 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を開き、下記のように設定します。

ibus_fxcit.png

次に、入力方法を設定します。System setting > Text EntryからJapanese (Mozc) (iBus)を追加します (ウィンドウ下部+ボタンより)。他のキーボードは消してください。

text_entry.png

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

/usr/share/ibus/component/mozc.xml.diff
 <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>&#x3042;</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)。

/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)。

/usr/share/X11/xkb/rules/evdev.diff
 ! 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)。

/usr/share/X11/xkb/rules/evdev.lst.diff
   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を下記のように設定します。

dconf_input_sources.png

参考 (環境)

  • MacBook Pro Late 2013
    • JISキーボード
  • Ubuntu 16.04 Desktop

参考文献


  1. Kuro_Code25, "ibus-mozcのキーボードレイアウトが英語になるトラブルの対処法" 

  2. ZeptByteS, http://qiita.com/ZeptByteS/items/db1de2cbd940c65b8d1f 

  3. Aleksandar Savkov, Answer to "How to swap Command and Control keys with xkb step by step?" 

koreyou
自然言語処理、応用機械学習、ロボットに興味がある企業リサーチャーです。 載せているコードは他に表記がなければThe UnlicenseとCC-0のデュアルライセンスにて公開しています。 発言は個人の見解であって所属組織を代表するものではありません。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした