Linux – oyainputカスタマイズ版

このページでは、Linuxにoyainputをカスタマイズした上でインストールして親指シフトを実現する方法についてご紹介します。

oyainputが登場!!

Linuxでは、IM-IMEの組み合わせとして、以前からFcitx-AnthyやIBus-Anthyを使って親指シフトを実現することができましたが、かな漢字変換の性能があまり高くありませんでした。

そこで、OyaMozc(Android用の無料アプリ)を出されているIN Worksさんが、oyainputを開発して無料でオープンソースで公開してくださいました。

oyainputの本家サイト(インストール方法など)は、こちら

oyainputならmozcの変換エンジンを利用しますので変換性能が高いです。オープンソース(GPL3ライセンス)ですので、トラブルがあればソースコードをいじって解決できるかもしれません。

Linuxで日本語入力をするならoyainputということになると思います。

参考サイト:

Linuxで親指シフトを利用する(Mozcとlibkkcの場合)

Linuxの親指シフトでMozcが使える!oyainputが公開された・・・感動



oyainputをカスタマイズしてインストール

oyainputをカスタマイズする理由

oyainputを通常通りインストールした場合、こちらに書いてあるような課題を感じると思います。特に、

  • 『』.,/などの入力が直接できない

ようです。

この問題を解決されている方がいました。oyainputをカスタマイズしように記載されているようにすると、上記の問題が解決します。

以下では、oyainputをカスタマイズしように記載の方法でLinuxにoyainputをカスタマイズしてインストールして親指シフトを使う方法を紹介しています。oyainputをカスタマイズせずにインストールする方法は、Xubuntuのインストール+oyainputの標準的インストールでご紹介しています。


日本語入力のためにfcitxとfcitx-mozcをインストール

すでにfcitxとfcitx-mozcがインストールされていない場合はインストールします。Ubuntuだとibusとibus-mozcがインストールされています。ibusだとIME ONやIME OFFのキーを指定することが難しく、また、oyainputとの相性があまりよくないようなので、ここではfcitxをインストールします。

sudo apt-get install fcitx fcitx-mozc

カスタマイズ用ファイル群をダウンロード

ターミナルを開いて以下のコマンドを1つずつ実行します。

sudo apt-get install git gcc make

cd

mkdir work

cd work

wget https://eee-life.com/kb/f/oyainput-mod.zip

unzip oyainput-mod.zip

cd oyainput-mod/src


oyastate.cの選択

ここでお使いのキーボードに応じて、また、「句読点で確定」という特殊な方法を使うかに応じて、実行するコマンドが変わります。

(A)JISキーボードの「:」と「BackSpace」を入れ替える場合(Japanistの快速親指シフト風)

通常はここで何もしなくていいです(既にあるoyastate.cを使います)

なお、「句読点で確定」の場合は以下を実行します。

cp -fiv oyastate-kakutei.c.txt oyastate.c

(B)富士通製のF型キーボード(FMV-KB232、FKB7628-801など)を使っている場合

通常は、

cp -fiv oyastate-ftype.c.txt oyastate.c

なお、「句読点で確定」の場合は以下を実行します。

cp -fiv oyastate-ftype-kakutei.c.txt oyastate.c


oyainputのビルド、インストール、実行

ターミナルで以下のコマンドを実行させます。

cd

cd work/oyainput-mod

make

sudo make install

なお、「stdio.hが見つからない」というエラーが出たら、build-essentialというパッケージをインストールすることで解決することがあるようです。

ここで、いったん、oyainputを起動して、「.oyainputconf」を生成させます。

oyainput

Ctrl+Cで終了させておきましょう。


oyainputの設定ファイルの編集

cd

nano .oyainputconf

で、左親指キーの設定を確認します。左親指キー(LOYAKEY)としてスペースバーを使う場合はSPACEのままでだいじょうぶですが、無変換キーを使う場合や富士通製のF型キーボード(FMV-KB232、FKB7628-801など)を使っている場合、MUHENKANに変更します。

ノートパソコンに外付けのキーボードをつなげて使っている場合でoyainputの起動時にどちらのキーボードで使うか聞かれる場合は、KEYBOARD=  にキーボード名を書き込みます。

なお、nanoはテキストエディターです。適宜、vi、geditなどに読み替えてください。


キーボードレイアウトの設定(xmodmap)

xmodmapを用いて、JISキーボードの「:」と「BackSpace」を入れ替えて、半角英字モードでも「:」を「BackSpace」として使う方法については、現状ではxmodmapを実行させると、かなモードのときに「:」を押しても「BackSpace」とならなくなるためにxmodmapは実行させない方がいいようです。

ソースコードを改変する必要があるようです。


起動スクリプトの作成

端末内で

oyainput

と入力すればoyainputは動作しますが、その端末を自動的に最小化するのは下記のようにします。

oyainput-start.shの内容

#!/bin/bash
xterm -T "oyainput-xterm" -e oyainput & sleep 2 xdotool windowminimize $(xdotool search --sync --name "oyainput-xterm")

ここでは、端末としてxtermを使用していますが、必要に応じてxfce4-terminalなどに変更します。

また、xdotoolコマンドを使えるようにするためにインストールします。

sudo apt -y install xdotool

このスクリプトを~/にコピーします。

cd
cd work/oyainput-mod/scripts
cp -fiv oyainput-start.sh ~/


起動スクリプトの自動起動の設定

このスクリプト(oya-xmodmap.sh)を自動起動させる設定をします。設定|セッションと起動 (ディストリビューションに応じて名称が異なります)を起動します。

add-autostart

自動開始アプリケーションのタブを選択して「追加」をクリックします。

名前:(任意:例、oyainput-start)

コマンド:bash oyainput-start.sh

の項目を追加します。

このような「セッションと起動」がない場合やうまく動作しない場合は、こちら(Ubuntuの場合)などを参考にするといいと思います。

これで起動時にoyainputが自動起動されるようになり、oyainputが動作している端末の窓が最小化されるようになりました。

このスクリプトを起動してみましょう。

cd
bash oyainput-start.sh


「Mozcの設定」でローマ字かな変換テーブルに定義を追加

「設定」、「Mozcの設定」を開きます。

「mozcの設定」が起動しない場合は、mozc-utils-guiをインストールすることが必要かもしれません。)

「一般」タブの「ローマ字テーブル」、「編集」、「編集」、「インポート」にて、

~/work/oyainput-mod/mozcimportfile/romantable-oya.txt

のファイルを指定します。


「Mozcの設定」でMozcのキー設定の変更

「Mozcの設定」、「一般」タブ、「キー設定の選択」、「編集」、「インポート」にて、

~/work/oyainput-mod/mozcimportfile/mozckeymap-space-kakutei.txt

のファイルを指定します。この設定は入力中に「Space」で全確定するようになっています。自分の好みに応じて変更しましょう。


「言語サポート」の変更

「設定」、「言語サポート」、「言語」タブ、「メニューとウィンドウの言語」で「日本語」が一番上にあることを確認します。もしそうでなければ一番上までドラッグします。

「設定」、「言語サポート」、「言語」タブ、「キーボード入力に使うIMシステム」で「fcitx」となっていることを確認します。もしそうでなければ選択します。


Fcitx設定の変更

「設定」、「Fcitx設定」、「全体の設定」タブで、「拡張オプションの表示(Show Advanced Options)」にチェックします。そして、

「入力メソッドをオンに」に「変換(Henkanmode)」キーを、

「入力メソッドをオフに」に「英数(Eisutoggle)」キーや「無変換」や「Ctrl+Space」を指定します。

これで、日本語入力を行うときは「変換」キー、半角英数を入力するときは「英数」キーなどを押せばよくなります。


間違えなどあるかもしれません。コメントにて情報を募集しています。


他の修正版

IM=auto とすればローマ字入力/日本語入力関係なく親指シフトのモードになってしまい、 IM=fcitx とすれば常にオフになってしまうという問題が発生した方が修正して解決されたようです



変更内容

oyainputの元のソースコードと比べて以下の点を変更しています。

(1)oyainputをカスタマイズしように記載のように、oyastate.c、common.h、config.cを変更

(2).oyainputconfに、oyainputをカスタマイズしように記載の「KEYADD=Q:KUTEN」以下が最初に付加されるようにconfig.cを変更

シェアする

  • このエントリーをはてなブックマークに追加

フォローする