親指シフト入力をサービスで使いたい!(oyainput / Kubuntu24.04)
キー入力で親指シフト入力を使い始めて、2年目になりました。
ただ、あまり日本語入力をしないので、全く上達しませんが(笑)
といっても、最近はローマ字入力より手が勝手に親指シフトにシフトしています。
つまり、ローマ字入力は遅くなったとも言える……
それはともかく、Linuxでは素敵な親指シフト入力ソフトがあります!
INWORKSさんが公開してくれているoyainput(おやいんぷっと)です。
とてもありがたいことですな★(感謝)
fcitx5-mozcを使っているなら、
KDEシステム設定 > 地域の設定 > 入力メソッド
で mozc を追加しましょう!
oyainputはターミナル上で実行するだけで、親指シフト入力モードになってくれます。
これをサービスに登録して、ログイン毎にいちいち実行しなくてもいいようにしましょう!
ただし、現在はIMEがfcitxから、fcitx5に変わったため、うまく動作しなくなっています。
ソースがgithubで公開されているので一部を直せば動作できるとburao mimaさんが修正してくれています。
で、これを利用してしばらく使っていたのですが!!!
なんと、IMEがONのままでロック画面になった時!大変なことに!
oyainputはキー入力を横取りして、ローマ字出力に変えてくれるのですが、パスワード入力画面でこれが有効のままだったため、パスワードが入力不可に!
という悲惨な事故に会いました。
実は、oyainputには[PAUSE]キーでこのローマ字変換モードを一時停止できるのですが、今どきのキーボードにはそのようなキーがないのがほとんどです!
と、いうわけで、[PAUSE]でなく[CapsLock]を一時停止キーに変更してみました。
するとどうでしょう!快適です!
mozcのキー設定で[CapsLock]を押すと、英数入力モードに切り替わるので親指シフト入力中にローマ字変換が停止され英数入力がスムーズに出来るようになりました。
パッチを作ってみたので、以下の手順を実行してね。
ソースのコンパイル# コンパイル環境と日本語入力環境のインストール $ sudo apt-get install -y git gcc make fcitx5 fcitx5-mozc # 作業用ディレクトリの作成 $ mkdir work $ cd work # oyainputソースのダウロード $ git clone https://github.com/inwskatsube/oyainput.git # パッチのダウンロード $ wget "https://drive.google.com/uc?export=download&id=1KbBTZh7u7lGPySOkIFmgw6V69dRIcwE-" -O oyainput.patch # パッチを当てる $ cd oyainput $ patch -p1 < ../oyainput.patch # oyainputをコンパイル $ make # oyainputをインストール $ sudo make install
この出来上がったoyainputをサービスにして、使い勝手を良くしましょう!
ただし、真似して、おかしなことになっても責任は持ちません(笑)
KubunutはSystemd上で動作しているのでこのサービスを使うと幸せになれます。
以下のようなサービス設定のファイルを /etc/systemd/user/oyainput.service として作成します。
/etc/systemd/user/oyainput.service[Unit] Description=Oyainput After=graphical-session.target [Service] ExecStart=/usr/local/bin/oyainput Restart=always RestartSec=5 KillSignal=SIGINT [Install] WantedBy=default.target
これをサービスとして登録し、開始させます。
サービス# サービスを認識させる $ sudo systemctl daemon-reload # サービスの登録 $ systemctl --user enable oyainput.service # サービスの実行 $ systemctl --user start oyainput.service
これで、無事に親指シフト入力が出来るようになります!!
親指シフトモードのままパスワード入力とかになってしまったら[CapsLock]キーを押せば解決です!
IMEのモードとoyainputのモードがズレてしまったら、[Ctrl]+[CapsLock]を押せば、oyainputのモードだけが変わるので解決できるでしょう!
ついでに、/etc/oyainput.conf として、システム共通の設定ファイルを読み込むようにもソースを修正しておきました。これで、ユーザごとに設定しなくて便利になります。
/etc/oyainput.confの例# キーボード名 KEYBOARDNAME=Lenovo ThinkPad # 左親指キー (スペースキー=SPACE, 無変換キー=MUHENKAN) LOYAKEY=SPACE # 右親指キー (変換キー=HENKAN,ひらがなカタカナキー=KATAKANAHIRAGANA) ROYAKEY=HENKAN # ON状態とOFF状態を連携させるIM(fcitx5/ibus/auto/none)を指定。 IM=fcitx5 # 日本語 ON/OFFキー #ONKEY=RIGHTALT #OFFKEY=RIGHTALT # 文字->親指同時打鍵検出許容期間(ms) CHARTIME=300 # 親指->文字同時打鍵検出許容期間(ms) OYATIME=300 # 親指単独打鍵みなし期間(ms) NICOLATIME=100
設定ファイルのキーボード名の途中にスペースが入っているとそこまでしか読み込まなかったのでそれもソース修正してあります。ただし、設定の最後は[EOF]でなく、必ず改行で終わるようにしてください。
うまく行きました! めでたしめでたし★

コメント
コメントを投稿