RSS2.0

Linux 版 Sublime Text 3 で日本語入力変換キーを変更する

Linux (Fedora 26) で Sublime Text 3 を使っていてると、日本語入力の切り替えキーがきになります。
日本語入力への切り替えキーは、デフォルトでは Ctrl + \ というなんとも珍しいキーバインドにマッピングされています。
右の Ctrl キーを使えば片手でも打てないことはないんですが、BackSpace が近いのと、完全にホームポジションから手が離れるのが気になります。
他にいいキーバインドはないものかといろいろ試してみたのですが、結局 Ctrl + Space に落ち着いたので、その設定方法を書いておこうと思います。
Ctrl + Space というと Fedora Core 時代のようで少し懐かしいですね。

Sublime Text 3 のキーマップを変更する

メニューバーの Preferences > Key Bindings を選択します。

キーバインドを設定するための Default (Linux).sublime-keymap - Default と Default (Linux).sublime-keymap - User というタブが開くので、ユーザーの設定を書く Default (Linux).sublime-keymap - User の方に以下の内容を記載し、保存します。
[
  { "keys": ["ctrl+space"], "command": "toggle_mozc" }
]
これで OK です。

Linux 版 Sublime Text 3 では使えないキー

日本語入力への切替キーというと、半角/全角キーや無変換キー、変換キーを使いたくなるのですが、Linux 版 Sublime Text 3 ではこれらのキーにキーマップを設定することができません。
公式ドキュメントの International Keyboards についての記述を読むとわかるのですが、US キーボードレイアウト以外の物理キーはサポートしていないそうなのです。
この時代に随分思い切った仕様だなーとは思いますが、まあしょうがないですね。

ちなみに、キーバインドに割り当て可能なキーのリストも公式ドキュメントに記載されています。
リストを見ると F13 〜 F20 というあまり馴染みのないキーも利用することができるのがわかります。

X KeyBoard extension を利用する場合のデメリット

ネットで Sumlime Text 3 の日本語切り替えについて調べていると、X KeyBoard extension を利用して半角/全角キーや無変換キー、変換キーでの日本語切り替えをしようという試みを見つけることができます。setxkbmap コマンドや xkbcomp コマンドを使う事例です。
Sumlime Text 3 が無変換キー、変換キーを認識しないのなら、認識する他のキーを無変換キー、変換キーに差し替えてしまえば、キーボード上は無変換キー、変換キーの位置にあるキーで日本語入力の切り替えができるじゃないか、という内容でした。

私も最初これを試してみたのですが、デメリットが少し気になったので結局採用するのはやめました。
というのも、キーの差し替えに利用する X KeyBoard extension は X Window System レベルであるキーを別のキーに差し替えるものなので、Sublime Text 3 を使っていない時にもその効果が及び続けるのです。

本気でやるなら、Sublime Text 3 だけでなく、Mozc もふくめて日本語入力切り替えに割り当てるキーを揃える必要がありますが、Mozc のキー設定もこれがまた曲者なので、私は無変換キー、変換キーにこだわるのはやめました。
誰かが Sublime Text 3 に巨額の寄付をして実装してもらえたらいいんですけどねー。
  Linux  コメント (0)  2018/01/21 12:00:03


公開範囲:
プロフィール HN: ももかん
ゲーム作ったり雑談書いたり・・・していた時期が私にもありました。
カレンダー
<<2019, 9>>
1234567
891011121314
15161718192021
22232425262728
293012345