まえおき
Minecraft は標準では日本語入力に対応していませんが、Windows では IntelliInput 、macOS では CocoaInput などの Mod を入れることによって日本語入力が実現されています。
しかし残念ながら Linux には、簡単に使える日本語入力の方法が存在しないのが現状です。(CocoaInput は Linux 版も開発しているようですが、セットアップ方法で Forge のバージョンファイルを編集してしまうなど、今のところおすすめはできません。)
私は Mod を使わない方法でこの問題にアプローチすることにしました。
方法
この方法では Minecraft の状態に関係なく、ショートカットキーで起動する入力ウィンドウを表示する方法で日本語入力を補助します。入力時に特定のキーを押す必要はありますが、いちいちテキストエディタを開いて入力してコピペするよりは遥かにマシなはずです。
ざっくりとした方針は以下の通りです:
- ショートカットキーでスクリプトを起動
- 入力ウィンドウを表示
- 入力内容をクリップボードにコピー
- クリップボードの内容を貼り付け
スクリプト内では、zenity、xclip、xdotool を使っているので、必要に応じてインストールしてください。
sudo apt install zenity xclip xdotool
下記のスクリプトが 2~4 までの処理をやってくれます:
#!/bin/bash
zenity --text="入力:" --entry | tr -d \n | xclip -selection clipboard
sleep 0.1
xdotool key ctrl+v
これをコピペしたファイルを適当な場所に保存したら、ファイルに実行権限を与えてください。
あとは設定などから、キードードショートカットでこのスクリプトが起動するようにすれば良いだけです。
動作イメージはこんな感じです。
ウィンドウに入力したのに Minecraft 側に反映されないときは sleep の値を少し増やしてみてください。
終わりに
Minecraft はずっと前からこんな感じらしいのになんで直さないんや…
いつかこんなまどろっこしいことをしなくても日本語が入力できるようになってほしいなあ…
(ちなみに xdotool を使うならなら xdotool type でええやんと思われる方もいるかもしれませんが、どうもそちらの方法 Minecraft では正常に入力されませんでした)