我设法从github安装maliit-server
和键盘插件。我运行服务器然后像这样的例子
export QT_IM_MODULE=Maliit
maliit-server -software &
maliit-exampleapp-plainqt
键盘按预期显示,但键盘中央出现黑框。我不知道/无法找到这个盒子的来源。
我正在使用Xubuntu (14.04 LTS)
,Qt 5.5
。有没有人遇到过这个问题?
答案 0 :(得分:2)
这可能是扩展键盘面板maliit-keyboard-extended.qml的QQuickView。窗口处理代码似乎非常错误(参见inputmethod.cpp)。
请注意,此代码是针对某些特定平台(几年前)编写的,可能需要适应其他用例。
答案 1 :(得分:0)
黑匣子是扩展键盘面板。出于某种原因,它在使用之前是一个正方形(其目的是在fx上按住A键时显示其他特殊字符)。
它应该是透明的,但似乎透明度不适合你,因为键盘本身应该有半透明背景,而不是黑色。
然而,透明度不是真正的问题,因为透明度对我有用,但扩展面板仍然阻止了输入。起初它似乎不是Linux Mint的问题,但这仅仅是因为它被放置在其他地方。仍然阻止该区域的鼠标输入,恰好不在键盘上。
在Windows上我通过添加:
解决了这个问题view->show();
view->hide();
为:
QQuickView *getOverlaySurface (MAbstractInputMethodHost *host, QQuickView *parent)
{
QScopedPointer<QQuickView> view(new myQQuickView (0));
view->setTransientParent(parent);
host->registerWindow (view.data(), Maliit::PositionOverlay);
makeQuickViewTransparent(view.data());
// Overlays should be hidden from the start, otherwise it may block
// underlying surface despite the overlay being empty. For hide() to work
// it needs to be shown first.
view->show();
view->hide();
return view.take ();
}
inputmethod.cpp 中的
这仅适用于Windows。在Linux Mint上,它不起作用,也会导致透明度失败。