キーバインドの変更は、OSやデスクトップ環境によって最適な方法が異なります。Caps LockをCtrlに置き換えるための、WindowsとLinux(Ubuntu, Fedora, NixOS、X11/Wayland別)における効率的な方法を解説します。
Windows (10/11)での設定方法
Windows環境で最も効率的かつ推奨される方法は、Microsoft PowerToysのKeyboard Manager機能を使用することです。レジストリを直接編集する方法よりも安全で簡単です。
1. Microsoft PowerToysを使用する (推奨) 🛠️
PowerToysのインストール: Microsoft StoreまたはGitHubからMicrosoft PowerToysをダウンロードし、インストールします。
Keyboard Managerを開く: PowerToysの設定を開き、サイドバーから「Keyboard Manager」を選択します。
キーの再マップ (Remap a key): 「Remap a key」を選択して設定画面を開きます。
マッピングの追加: 「Add key remapping」をクリックし、以下のマッピングを設定します。
Select (元):
Caps LockTo send (先):
Ctrl(またはLeft Ctrl)
適用: 設定を保存し、PowerToysを有効にしておきます。再起動は通常不要ですが、設定が反映されない場合は再起動を試みてください。
2. レジストリを編集する (上級者向け)
PowerToysが利用できない環境や、よりシステムレベルで永続的な変更を行いたい場合に、レジストリのScancode Mapを編集する方法があります。これはOS起動前に適用されるため、リモートデスクトップなどでも有効ですが、誤った編集はシステムに影響を与える可能性があるため、必ずバックアップを取ってから行ってください。
レジストリエディタを開く:
Win+Rで「ファイル名を指定して実行」を開き、regeditと入力して実行します。パスへ移動:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layoutへ移動します。Scancode Mapを作成/編集:Keyboard Layoutキーを右クリックし、新規 > バイナリ値を作成し、名前をScancode Mapにします。Scancode Mapをダブルクリックし、以下のバイナリデータを入力します。00 00 00 00 00 00 00 00 02 00 00 00 1D 00 3A 00 00 00 00 00
再起動: PCを再起動すると設定が反映されます。
Linuxでの設定方法 (Ubuntu, Fedora, NixOS)
Linuxでは、X11環境かWayland環境か、また使用しているデスクトップ環境(GNOME, KDEなど)によって効率的な方法が異なります。一般的にはXKBオプションを使用する方法が最も標準的です。
1. GNOMEデスクトップ環境 (Wayland/X11) - Ubuntu/Fedora
UbuntuやFedoraの標準デスクトップ環境であるGNOMEでは、設定アプリまたはgsettingsコマンドを使うのが最も簡単で確実です。
GNOME Tweaks (GUI)
GNOME Tweaksのインストール: (未インストールの場合)
gnome-tweaksパッケージをインストールします。Ubuntu/Fedora:
sudo apt install gnome-tweaksまたはsudo dnf install gnome-tweaks
設定: GNOME Tweaksを起動し、「Keyboard & Mouse」(または「キーボードとマウス」)セクションへ移動します。
Additional Layout Options (追加レイアウトオプション): 「Caps Lock behavior」(Caps Lockの動作)または「Additional Layout Options」をクリックします。
設定の選択: 「Ctrl position」(Ctrlの位置)または「Caps Lock behavior」から「Swap Ctrl and Caps Lock」(CtrlとCaps Lockを入れ替える)または「Caps Lock as an additional Ctrl」(Caps LockをCtrlとして使用)を選択します。
gsettings (CUI)
GNOMEのD-Bus設定を変更することで適用できます。WaylandでもX11でも有効です。
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"
(ctrl:swapcapsはCaps LockとCtrlを入れ替えるオプションです。Caps LockをCtrlとしてのみ使用したい場合はctrl:nocapsを試してください。)
2. X11環境 (共通)
xkb-optionsを使ってシステム全体に設定を適用する方法です。
/etc/default/keyboard (Ubuntu/Debian系)
Ubuntuではこのファイル編集が一般的です。
ファイルを編集:
Bashsudo nano /etc/default/keyboardXKBOPTIONSの行を以下のように変更/追加します。XKBOPTIONS="ctrl:swapcaps"設定を反映:
Bashsudo dpkg-reconfigure keyboard-configurationまたは再起動します。
/etc/X11/xorg.conf.d/の設定 (Fedora/X11全般)
Fedoraを含む多くのディストリビューションで、Xorgの設定ファイルで設定する方法です。
/etc/X11/xorg.conf.d/00-keyboard.conf(または類似のファイル)を作成/編集します。Bashsudo nano /etc/X11/xorg.conf.d/00-keyboard.conf以下の内容を記述します。
コード スニペットSection "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbLayout" "us" # 必要に応じてレイアウトを設定 Option "XkbOptions" "ctrl:swapcaps" EndSectionXorgを再起動するか、システムを再起動します。
3. NixOSでの設定方法
NixOSでは、/etc/nixos/configuration.nixに設定を記述し、システムをリビルドします。
/etc/nixos/configuration.nixを編集します。X11/Wayland共通:
services.xserver.xkbOptionsを設定します。Nixservices.xserver.enable = true; # ... 他の設定 ... services.xserver.xkbOptions = "ctrl:swapcaps";TTY(仮想コンソール)でも適用したい場合:
Nixconsole.useXkbConfig = true;
設定を適用するため、システムをリビルドします。
Bashsudo nixos-rebuild switch
4. Wayland (より包括的な方法)
WaylandではX11のsetxkbmapのようなツールが効かない場合がありますが、多くの環境でGNOME TweaksやNixOSの設定(上記参照)で対応できます。
より汎用的なキーリマップツールとして**xremapやkanata**などがありますが、これらは別途インストールと設定が必要になり、カーネルレベルで動作させる場合はより複雑になります。通常は上記1〜3の方法で十分です。