cht電腦資訊gcin
adm Find login register

求助:gcin 在 Fedora 下 Qt 应用中无法使用

Zamir
joined: 2018-03-04
posted: 1
promoted:
bookmarked:
1subject: 求助:gcin 在 Fedora 下 Qt 应用中无法使用Promote 0 Bookmark 02018-03-04quote  

我在尝试恢复 gcin 的 Fedra RPM。近来已经能够让 gcin 在 gtk 应用程序中运行,但 Qt 程序下仍然没有成功使用 gcin。

在编译时使用了如下两个 patch

https://src.fedoraproject.org/rpms/gcin/blob/f27/f/0001-Fix-Qt5-path-for-Fedora-packaging.patch

https://src.fedoraproject.org/rpms/gcin/blob/f27/f/0002-Fix-FTBFS-on-big-endian.patch

以及 x11的配置(/etc/X11/xinit/xinput.d/gcin.conf)如下

https://src.fedoraproject.org/rpms/gcin/blob/f27/f/gcin.conf

当前的环境变量是

$ env | grep -i im

IMSETTINGS_INTEGRATE_DESKTOP=yes
IMSETTINGS_MODULE=GCIN
QT_IM_MODULE=gcin
XMODIFIERS=@im=gcin
XDG_RUNTIME_DIR=/run/user/1000
GTK_IM_MODULE=gcin

$ strings /proc/`pgrep gcin`/environ 的结果在

https://zsun.fedorapeople.org/pub/bugs/gcin/gcin-environ

开启 plugin_debug 时的 qutebrowser 输出在

https://zsun.fedorapeople.org/pub/bugs/gcin/qutebrowser-debug.log

以及,当前系统是 Fedora 27 x86_64 + XFCE,

系统中的 qt 版本为 qt5-5.9.4-2.fc27

我尝试过这个 patch , 也没有作用

https://anonscm.debian.org/git/pkg-ime/gcin.git/tree/debian/patches/0012-Use-QPlatformInputContextFactoryInterface_iid.patch?h=debian/2.8.5%2bdfsg1-4

所以请问,这是 gcin 的 bug 么?或者我还应当修改什么内容才可使用?

 

感谢!

otakuxtom
joined: 2016-08-05
posted: 15
promoted:
bookmarked:
Taiwan
2subject: Promote 0 Bookmark 02018-03-21quote  

可以嘗試看看這個

diff --git a/qt5-im/gcin-qt5.h.in b/qt5-im/gcin-qt5.h.in
index 63aacc0..0f958af 100644
--- a/qt5-im/gcin-qt5.h.in
+++ b/qt5-im/gcin-qt5.h.in
@@ -9,7 +9,7 @@ class QGcinPlatformInputContextPlugin : public QPlatformInputContextPlugin
{
    Q_OBJECT
public:
-    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QPlatformInputContextFactoryInterface" FILE "gcin.json")
+    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1" FILE "gcin.json")
    QStringList keys() const;
    QGcinPlatformInputContext *create(const QString& system, const QStringList& paramList);
};


cht電腦資訊gcin
adm Find login register
views:5763