0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu + Mozc で英字キーボードを Mac 風に使う

0
Posted at

概要

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 として認識されていたため、leftaltrightalt を使っています。

保存したら 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 側で、MuhenkanHenkan の動作を設定します。

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 に移行した人や、英字キーボードで日本語入力を快適にしたい人にはかなり便利な設定だと思います。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?