親指シフト入力をサービスで使いたい!(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]でなく、必ず改行で終わるようにしてください。

うまく行きました! めでたしめでたし★

ふんどしの持ち主

コメント

このブログの人気の投稿

Kubuntu22.04 VirtualBox - 重大なエラー 〜 嘘でした"Document is enpty."なだけ

Pythonのソースファイルの行番号を取得したい

学習リモコン「リモコソ (RIMOKOSO1)」の設定