概要
Ubuntu で英字キーボードを使っていると、日本語入力の切り替えが少し不便です。
Mac の JIS キーボードでは、
- 左Cmd:英数
- 右Cmd:かな
のように、左右のCmdキーで入力モードを直接切り替えられます。
この記事では、Ubuntu + Mozc 環境で、英字キーボードを使いながら、
- 左Cmd → 英字入力
- 右Cmd → 日本語入力
を実現する方法をまとめます。
今回の環境では、キーボードの左右Cmdキーが Ubuntu 上では Alt_L / Alt_R として認識されていました。そのため、Mozc 単体ではなく keyd を使ってキーコードを変換します。
環境
今回確認した環境は以下です。
OS: Ubuntu 24.04.4 LTS
IME: IBus + Mozc
Keyboard: NuPhy Air75
Keyboard layout: English keyboard
入力ソースは最終的に Japanese (Mozc) のみで使うのがおすすめです。
やりたいこと
最終的に以下のような動作にします。
左Cmd → 英数入力
右Cmd → 日本語入力
内部的には、次のように変換します。
左Cmd → Muhenkan → Mozcで英数入力
右Cmd → Henkan → Mozcで日本語入力
1. CmdキーがUbuntuでどう認識されているか確認する
まず xev を使って、左右Cmdキーが Ubuntu 上でどう見えているか確認します。
sudo apt install x11-utils
xev
小さい白いウィンドウが表示されるので、そのウィンドウを選択した状態で左Cmd、右Cmdを押します。
私の環境では以下のように表示されました。
左Cmd → Alt_L
右Cmd → Alt_R
具体的には、以下のような出力です。
KeyPress event, ...
keycode 64 (keysym 0xffe9, Alt_L)
KeyPress event, ...
keycode 108 (keysym 0xffea, Alt_R)
つまり、Ubuntu から見ると、
左Cmd = Alt_L
右Cmd = Alt_R
として認識されています。
2. Mozc単体では難しい理由
Mozc の設定画面は以下で開けます。
/usr/lib/mozc/mozc_tool --mode=config_dialog
または、環境によっては以下でも起動できます。
mozc_tool --mode=config_dialog
Mozc Settings の
General
→ Keymap style
→ Customize
からキー設定を変更できます。
しかし、私の環境では Mozc の Customize 画面で Cmd キーを押しても反応しませんでした。
理由は、Mozc が Alt_L / Alt_R のような修飾キー単独押しをうまく拾えないためです。
そのため、Mozc単体で
左Cmd → 英数
右Cmd → 日本語
を直接設定するのは難しいです。
そこで、keyd を使って、
Alt_L → Muhenkan
Alt_R → Henkan
に変換します。
その後、Mozc 側で
Muhenkan → 英数
Henkan → 日本語
に設定します。
3. keydをインストールする
Ubuntu 24.04 では、標準の apt リポジトリに keyd が入っていない場合があります。
その場合は GitHub からビルドしてインストールします。
sudo apt update
sudo apt install git make gcc pkg-config libudev-dev
cd ~
git clone https://github.com/rvaiya/keyd
cd keyd
make
sudo make install
sudo systemctl enable --now keyd
インストールできたか確認します。
sudo systemctl status keyd
4. keydで左Cmd・右Cmdを変換する
設定ファイルを作成します。
sudo vi /etc/keyd/default.conf
または nano を使う場合は以下です。
sudo nano /etc/keyd/default.conf
以下の内容を記述します。
[ids]
*
[main]
leftalt = muhenkan
rightalt = henkan
今回の環境では、左Cmdが Alt_L、右Cmdが Alt_R として認識されていたため、leftalt と rightalt を使っています。
保存したら keyd を再起動します。
sudo systemctl restart keyd
自動起動も有効にしておきます。
sudo systemctl enable --now keyd
5. keydの動作確認
以下のコマンドで keyd の入力を確認できます。
sudo keyd monitor
左Cmd、右Cmdを押したときに以下のように出れば成功です。
keyd virtual keyboard ... muhenkan down
keyd virtual keyboard ... muhenkan up
keyd virtual keyboard ... henkan down
keyd virtual keyboard ... henkan up
つまり、
左Cmd → Muhenkan
右Cmd → Henkan
に変換されています。
6. Mozc側のキー設定を変更する
次に Mozc 側で、Muhenkan と Henkan の動作を設定します。
Mozc の設定画面を開きます。
/usr/lib/mozc/mozc_tool --mode=config_dialog
以下を開きます。
General
→ Keymap style
→ Customize
右Cmdで日本語入力にする
Henkan の設定を変更します。
特に重要なのは以下です。
Mode: DirectInput
Key: Henkan
Command: Activate IME
私の環境では、初期状態では
DirectInput / Henkan / Reconvert
になっていました。
これを
DirectInput / Henkan / Activate IME
に変更します。
これで、右Cmdを押したときに Mozc が有効になります。
左Cmdで英数入力にする
Muhenkan の設定を変更します。
最低限、以下を設定します。
Mode: Precomposition
Key: Muhenkan
Command: Deactivate IME
初期状態では、
Precomposition / Muhenkan / Set input mode to next kana type
になっている場合があります。
これを
Precomposition / Muhenkan / Deactivate IME
に変更します。
さらに、入力中や変換中にも左Cmdで英数へ戻したい場合は、以下も追加・変更しておくとよいです。
Mode: Composition
Key: Muhenkan
Command: Deactivate IME
Mode: Conversion
Key: Muhenkan
Command: Deactivate IME
7. おすすめのMozc設定まとめ
最終的に、以下のように設定すると使いやすいです。
DirectInput Henkan Activate IME
Precomposition Henkan Set input mode to Hiragana
Precomposition Muhenkan Deactivate IME
Composition Muhenkan Deactivate IME
Conversion Muhenkan Deactivate IME
最低限必要なのは以下です。
DirectInput Henkan Activate IME
Precomposition Muhenkan Deactivate IME
8. 入力ソースは Japanese (Mozc) のみにする
Ubuntu の右上メニューや Settings で、
Japanese (Mozc)
English (US)
の2つが登録されている場合があります。
この状態でも動きますが、English (US) 側に切り替わっていると Mozc のキー設定が効きません。
そのため、安定して使うには入力ソースを
Japanese (Mozc)
のみにするのがおすすめです。
設定場所は以下です。
Settings
→ Keyboard
→ Input Sources
ここで English (US) を削除し、Japanese (Mozc) のみ残します。
英字入力は Mozc の DirectInput で行います。
9. 動作確認
テキストエディタやブラウザの入力欄で確認します。
右Cmd → 日本語入力になる
左Cmd → 英数入力になる
これで、Mac のように左右Cmdで入力モードを切り替えられるようになります。
keyd がインストールされていない場合
以下のように表示される場合があります。
Unit keyd.service could not be found
この場合は、keyd のインストールが完了していません。
もう一度以下を実行します。
cd ~/keyd
make
sudo make install
sudo systemctl enable --now keyd
Mozc の設定画面が開けない場合
Ubuntu では mozc_tool が PATH に入っていないことがあります。
以下で場所を確認します。
dpkg -L mozc-utils-gui | grep mozc_tool
多くの場合、以下で起動できます。
/usr/lib/mozc/mozc_tool --mode=config_dialog
CmdキーがAltではなくSuperとして認識される場合
キーボードやモードによっては、Cmdキーが Super_L / Super_R として認識される場合があります。
その場合、xev の結果は以下のようになります。
左Cmd → Super_L
右Cmd → Super_R
この場合は、keyd の設定を以下のように変更します。
[ids]
*
[main]
leftmeta = muhenkan
rightmeta = henkan
または環境によっては leftsuper / rightsuper を使います。
まずは必ず xev で、左右Cmdが何として認識されているか確認してください。
今回のポイント
今回の設定の役割分担は以下です。
keyd:
左Cmd(Alt_L) → Muhenkan
右Cmd(Alt_R) → Henkan
Mozc:
Muhenkan → 英数
Henkan → 日本語
つまり、keyd はキーの変換を担当し、Mozc は日本語入力モードの切り替えを担当します。
Mozc 単体では Cmd キー、特に Alt_L / Alt_R の単独押しを拾えなかったため、keyd が必要でした。
まとめ
Ubuntu + Mozc + 英字キーボードでも、keyd を使うことで Mac 風の入力切り替えが実現できます。
最終的な動作は以下です。
左Cmd → 英数入力
右Cmd → 日本語入力
Mac から Ubuntu に移行した人や、英字キーボードで日本語入力を快適にしたい人にはかなり便利な設定だと思います。