QT5.5.0でのfcitx設定方法

Ubuntu 15.04でQT SDKをインストールした場合
libfcitxplatforminputcontextplugin.soを自分でコンパイルしてやる必要がある。
inputプラグインフォルダの読み込み方法?に修正が入ったらしいので
fcitx-qt5側のソース修正も必要なり。


1.下準備

必要なものをインストールしておくので、
先にコンパイルに必要なものを調べる。

$ sudo apt-get build-dep fcitx-qt5

これでQT関係は除外して必要そうなものをインストール。

$ sudo apt install git cmake extra-cmake-modules fcitx-libs-dev

2.ソースを取得する

Ubuntu 15.04なので1.0.1を利用する

[code lang=bash]
$ git clone https://github.com/fcitx/fcitx-qt5.git
$ cd fcitx-qt5
$ git checkout 1.0.1
[/code]

3.ソースの修正

platforminputcontext/main.hを修正します。

[code lang=c]
class QFcitxPlatformInputContextPlugin : public QPlatformInputContextPlugin
{
Q_OBJECT
public:
Q_PLUGIN_METADATA(IID Q_PLUGIN_METADATA(IID “org.qt-project.Qt.QPlatformInputContextFactoryInterface” FILE “fcitx.json”) // ここを修正
QStringList keys() const;
QFcitxPlatformInputContext *create(const QString& system, const QStringList& paramList);
};
[/code]

Q_PLUGIN_METADATA~の部分を以下のように修正します

[code lang=c]
class QFcitxPlatformInputContextPlugin : public QPlatformInputContextPlugin
{
Q_OBJECT
public:
Q_PLUGIN_METADATA(IID QPlatformInputContextFactoryInterface_iid FILE “fcitx.json”) // こんな感じ
QStringList keys() const;
QFcitxPlatformInputContext *create(const QString& system, const QStringList& paramList);
};
[/code]

4.ビルド

CMAKE_PREFIX_PATH にはqtインストール先を指定

[code lang=bash]
$ cmake . -DCMAKE_PREFIX_PATH=/home/[USER]/Qt/5.5/gcc
$ make
[/code]

5.モジュールのコピー

platforminputcontext/libfcitxplatforminputcontextplugin.so が出来上がるので、
それを必要な場所にコピーする

[code lang=bash]
$ cp platforminputcontext/libfcitxplatforminputcontextplugin.so /home/[USER]/Qt/5.5/gcc/plugins/platforminputcontexts
$ cp platforminputcontext/libfcitxplatforminputcontextplugin.so /home/[USER]/Qt/Tools/QtCreator/bin/plugins/platforminputcontexts
[/code]

タイトルとURLをコピーしました