FirefoxでCapsLock+HをBackspaceにしたい!Linux Mintでxremapを導入した話
どうもです!えむしんです!
Linux Mint を使い始めてから、少しずつ自分好みの環境に育てています。
私は昔から Emacs 系のキーバインドが好きで、特に CapsLock+H で Backspace が使えないと落ち着きません。
ところが Firefox では、
Ctrl+H → 履歴表示
CapsLock+H → 履歴表示
となってしまいます。
今回は、Linux Mint 22.3 で CapsLock+H を Firefox でも Backspace にする方法 を備忘録として残しておきます。
面白味に欠ける技術記事かもしれませんが、今後の自分のためにも記します。
最終的な構成
役割分担はこんな感じです。
fcitx5 … 日本語入力
xremap … キー変換
Firefox … ブラウザ
以前は、
setxkbmap -option ctrl:nocaps
で CapsLock を Ctrl にしていましたが、xremap はその変換後のキーを見ていないようです。
最終的には、CapsLock→Ctrl の変換も xremap に任せることにしました。
xremap のインストール
Rust 環境を整えた後、
cargo install xremap --features x11
を実行します。
途中で、
feature `edition2024` is required
というエラーが出たら、Cargo が古い可能性があります。
Rust を最新版へ更新してください。
権限設定
uinput が必要です。
sudo modprobe uinput
確認。
ls -l /dev/uinput
権限を設定します。
sudo nano /etc/udev/rules.d/99-uinput.rules
内容。
KERNEL=="uinput", GROUP="input", MODE="0660"
反映。
sudo udevadm control --reload-rules
sudo udevadm trigger
設定ファイル
作成。
mkdir -p ~/.config/xremap
nano ~/.config/xremap/config.yml
内容。
modmap:
- name: CapsLock to Ctrl
remap:
CapsLock: Ctrl_L
keymap:
- name: Ctrl-H to Backspace
remap:
Ctrl-H: Backspace
これだけです。
systemd で自動起動
mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/xremap.service
内容。
[Unit]
Description=xremap
[Service]
ExecStart=/home/m4n/.cargo/bin/xremap --device /dev/input/event2 /home/m4n/.config/xremap/config.yml
Restart=always
[Install]
WantedBy=default.target
有効化。
systemctl --user daemon-reload
systemctl --user enable xremap
systemctl --user start xremap
確認。
systemctl --user status xremap
次のように表示されれば成功です。
Active: active (running)
そして快適になった
今では、
CapsLock+H → Backspace
Ctrl+H → Backspace
になりました。
ようやく、FirefoxからCtrl+Hを奪還することに成功!
Firefox だけでなく、OpenWebUI やターミナルでも快適です。
ちなみに途中で、
「左ShiftでIMEが切り替わる!」
という怪現象が発生しました。
原因は fcitx5 のホットキー設定に Left Shift が登録されていたことでした。
これは単なる凡ミスです(-_-;)
設定って、一つ直すと別の場所が気になり始めるんですよね。
でも、そうやって少しずつ自分の環境になっていくのも Linux の楽しさかもしれません。
では、また。
いいなと思ったら応援しよう!
面白かったら、チップで一票いただけるとうれしいです。深掘りする励みになります!