Linux Wayland で keyd を利用してキーマッピングする方法(変換キー、無変換キー+ ○)

Ubuntu 24.04 や Zorin OS 17.3 など、Wayland を採用した Linux デスクトップ環境において、キーマッピングツール「keyd」を使って、変換キー・無変換キーを修飾キーとして活用する方法をまとめました。
目次
対象読者
- Linux 上で xkeysnail など X11 専用のツールを使っていたが、Wayland 移行により代替ツールを探している方
- Windows で AutoHotKey を使用しており、同様のキーマッピング環境を Linux でも構築したい方
- 変換キー・無変換キーをカスタムショートカットキーとして活用したい方
実現するショートカット一覧
以下は、変換キーと無変換キーを「修飾キー」として使用し、さまざまな操作をキーボードで効率よく行うためのキーマップ例です。
🎮 無変換キーに割り当てるショートカット一覧
組み合わせ | 動作 | 説明 |
---|---|---|
無変換 + h | ← | カーソル左移動 |
無変換 + j | ↓ | カーソル下移動 |
無変換 + k | ↑ | カーソル上移動 |
無変換 + l | → | カーソル右移動 |
無変換 + a | Home | 行頭に移動 |
無変換 + e | End | 行末に移動 |
無変換 + n | Backspace | 一文字削除(後ろ) |
無変換 + m | Delete | 一文字削除(前方) |
無変換 + s | Esc | Esc キー押下 |
無変換 + ;/: | Enter | 改行(Enter) |
無変換 + u | Ctrl + ← | 単語単位で左移動 |
無変換 + i | Ctrl + → | 単語単位で右移動 |
無変換 + 1〜0 | F1〜F10 | ファンクションキー |
無変換 + – / ^ | F11 / F12 | ファンクションキー |
🎮 変換キーに割り当てるショートカット一覧
組み合わせ | 動作 | 説明 |
---|---|---|
変換 + h | Ctrl + Home | 先頭にジャンプ |
変換 + l | Ctrl + End | 最後にジャンプ |
変換 + j | Page Down | ページダウン |
変換 + k | Page Up | ページアップ |
変換 + u | Alt + ← | 戻る(ブラウザなど) |
変換 + i | Alt + → | 進む(ブラウザなど) |
ステップ 1:keyd のインストール
Wayland に対応した keyd をソースからインストールします。
sudo apt update
sudo apt install git build-essential
git clone https://github.com/rvaiya/keyd
cd keyd
make
sudo make install
sudo systemctl enable keyd
sudo systemctl start keyd
keyd が正常に動作しているか確認
sudo systemctl status keyd
ステップ 2:キーマップを調べる(確認用)
keyd にはキーコードを調べる機能があります。以下のコマンドを使います。
sudo keyd -m
調査結果の例
- 無変換キー: muhenkan
- 変換キー: henkan
- 「^」キー(実際には = と認識される)
keyd virtual keyboard 0xxx:0xxx:bexxxxxx muhenkan down
keyd virtual keyboard 0xxx:0xxx:bexxxxxx muhenkan up
keyd virtual keyboard 0xxx:0xxx:bexxxxxx henkan down
keyd virtual keyboard 0xxx:0xxx:bexxxxxx henkan up
keyd virtual keyboard 0xxx:0xxx:bexxxxxx = down
keyd virtual keyboard 0xxx:0xxx:bexxxxxx = up
ステップ 3:設定ファイル作成
keyd の設定ファイルは /etc/keyd/ に作成します。
例として /etc/keyd/default.conf に以下を記述します。
[ids]
*
[main]
# 無変換・変換キーを使用
muhenkan = overload(leftmeta, muhenkan)
henkan = overload(rightmeta, henkan)
[leftmeta]
# --- leftmeta + hjkl でカーソル移動
h = left
j = down
k = up
l = right
# --- leftmeta + aemn → Home / End / Backspace / Delete
a = home
e = end
n = backspace
m = delete
# --- leftmeta + s → Esc
s = esc
# --- leftmeta + ;/: → Enter
semicolon = enter
apostrophe = enter
# --- leftmeta + u/i → Ctrl+Left / Ctrl+Right
u = C-left
i = C-right
# --- leftmeta + 数字 → F1〜F12
1 = f1
2 = f2
3 = f3
4 = f4
5 = f5
6 = f6
7 = f7
8 = f8
9 = f9
0 = f10
minus = f11
equal = f12
[rightmeta]
# --- rightmeta + h/l/j/k → Ctrl+Home / Ctrl+End / PgDn / PgUp
h = C-home
l = C-end
j = pagedown
k = pageup
# --- rightmeta + u/i → Alt + Left/Right
u = A-left
i = A-right
ステップ 4:設定の反映
設定ファイルを保存したら、以下のコマンドで keyd を再起動して反映します。
sudo systemctl restart keyd
設定を変更した後はこのコマンドで毎回再起動しましょう。
補足:IME 切り替えと競合しないようにする
変換キーや無変換キーは通常 IME(日本語入力)の ON/OFF に使われています。本記事では以下のように工夫しています:
- 単独で押下 → 通常の IME キーとして挙動
- 他キーと同時押下 → 修飾キーとして動作(rightmeta, leftmeta を代用)
IME 切り替え機能を残しつつ、ショートカットとしても使えるようにした設定です。代替キーとして f13〜f24 を使う方法もありますが、GNOME 環境で既に割り当てがあるため、今回は meta キー系を使用しました。
まとめ
Wayland 環境では、従来の X11 向けキーマッピングツールが使えず不便でしたが、「keyd」を使えば、変換・無変換キーを活用した柔軟なキーマッピングが可能になります。IME との併用も工夫次第で可能です。
ぜひ、Wayland 環境での快適なキーボード操作に活用してみてください!