環境
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION=”Ubuntu 20.04.1 LTS”
トラブル内容
日本語入力にFcitxを使用したUbuntu 20.04で、Emacsを使用した際に、対応する開き括弧にジャンプする機能(C-M-p:backward-list)が動作しない。閉じ括弧にジャンプする機能(C-M-n:forward-list)は動作する。
原因
FcitxのホットキーでCtrl+Alt+Pが使用されているため。
解決方法
FcitxのホットキーからCtrl+Alt+Pを削除する。
背景
最近、Ubuntuでの日本語入力をibus + xcapeからFcitxに変更しました。xcapeの起動が安定しなかった事と、Fcitxであれば設定画面から右ALTキーを日本語切り替えに指定できるため、余計な手間がかからないという事もあります。またEmacs 26.3でも問題なく使用できていますし、インライン表示もできています。
ところがFcitxに切り替えてからしばらくして、Emacsでプログラムを書いてる際にbackward-listが機能していない事に気づきました。forward-listは使えているのに、なぜかbackward-listだけ駄目なのです。
最近のUbuntuではグローバルなホットキーが多様されており、各アプリでショートカットキーが重複する事も多々ありますので、まぁこの辺の問題だろうと当たりをつけたのですが、問題はどのアプリのホットキーか分からない。アプリを止めながら一つ一つ調べていった所、Fcitxのホットキーに記載がある事が分かったとい事です。
設定方法
Fcitxの設定画面を開きます。
![](https://www.murakan.info/wp-content/uploads/2020/09/244ac53ef2caa4e74344615a6769cc7a-449x304.png)
全体の設定を選択。
![](https://www.murakan.info/wp-content/uploads/2020/09/6a99590283b38c842127c737faf89a32-449x304.png)
一部のホットキーしか表示されないので、下にある「Show Advanced Options」にチェックを入れます。
![](https://www.murakan.info/wp-content/uploads/2020/09/c99a5c87284362eaa101df79d6d83efc-449x304.png)
下の方にスクロールすると「Switch Embedded Preedit」という項目に「Ctrl+Alt+P」が設定されています。
![](https://www.murakan.info/wp-content/uploads/2020/09/a482c068fa8791c21a806ba55734bfda-449x304.png)
「Ctrl+Alt+P」をクリックするとキー設定画面が表示されるので、Escapeキーを押して、ホットキーを削除します。
![](https://www.murakan.info/wp-content/uploads/2020/09/1f54d19d1761ddc5d9e156bd16cfa743-449x304.png)
該当箇所を削除するだけで良いのですが、Fcitxのホットキーを殆ど使っていない事と、Emacsのショートカットにかぶる可能性が高いキーが多かったので、殆ど全部の設定を削除しちゃいました。
![](https://www.murakan.info/wp-content/uploads/2020/09/f38427b424cf4a601bb4e6d2fea9a789-449x304.png)
これで一安心。