Package Details: kylin-virtual-keyboard-git 3.0.1.0.r26.g5031395-1

Git Clone URL: https://aur.archlinux.org/kylin-virtual-keyboard-git.git (read-only, click to copy)
Package Base: kylin-virtual-keyboard-git
Description: 麒麟虚拟键盘输入法UI工程,该工程适配fcitx5最新的虚拟键盘支持机制。
Upstream URL: https://gitee.com/openkylin/kylin-virtual-keyboard
Licenses: GPL-3.0-or-later
Conflicts: kylin-virtual-keyboard-bin
Provides: kylin-virtual-keyboard
Submitter: icepie
Maintainer: icepie
Last Packager: icepie
Votes: 0
Popularity: 0.000000
First Submitted: 2023-12-07 09:50 (UTC)
Last Updated: 2025-01-13 03:10 (UTC)

Latest Comments

anlorsp commented on 2025-05-08 06:48 (UTC)

setType和setExtendedStrut方法已经从KWindowSystem移动到KX11Extras。要编译成功,在PKGBUILD同目录下添加 port-to-KX11Extras.patch 文件:

diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp
index cac8f9c..8bbd9f0 100644
--- a/src/appinputareamanager.cpp
+++ b/src/appinputareamanager.cpp
@@ -17,10 +17,11 @@

 #include "appinputareamanager.h"
 #include <KWindowSystem>
+#include <KX11Extras>

 AppInputAreaManager::AppInputAreaManager(QObject *parent)
     : QObject(parent), dummyWidget_(nullptr), oneshotTimer_(nullptr) {
-    KWindowSystem::setType(dummyWidget_.winId(), NET::Dock);
+    KX11Extras::setType(dummyWidget_.winId(), NET::Dock);
     oneshotTimer_.setSingleShot(true);
     connectSignal();
 }
@@ -32,7 +33,7 @@ void AppInputAreaManager::connectSignal() {
         // 使用KWin接口调整工作区域,仅在X11下有效
         // 该接口对全屏应用无效
         // 该接口需在winId对象显示前后调用,否则可能不生效
-        KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0,
+        KX11Extras::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0,
                                         0, 0, 0, virtualKeyboardRect_.height(),
                                         virtualKeyboardRect_.x(),
                                         virtualKeyboardRect_.width() - 1);
@@ -46,7 +47,7 @@ void AppInputAreaManager::raiseInputArea(const QRect &virtualKeyboardRect) {
 }

 void AppInputAreaManager::fallInputArea() {
-    KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, 0,
+    KX11Extras::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, 0,
                                     0, 0, 0, 0, 0);
     dummyWidget_.hide();
     oneshotTimer_.stop();

修改PKGBUILD

diff --git a/PKGBUILD b/PKGBUILD
index 322aea5..8218918 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
 # Maintainer: icepie <icepie.dev [at] gmail dot com>
 pkgname=kylin-virtual-keyboard-git
 _pkgname=kylin-virtual-keyboard
-pkgver=3.0.1.0.r26.g5031395
+pkgver=4.20.1.0.r4.g8b2ea3c
 pkgrel=1
 pkgdesc="麒麟虚拟键盘输入法UI工程,该工程适配fcitx5最新的虚拟键盘支持机制。"
 arch=("x86_64")
@@ -11,9 +11,9 @@ optdepends=()
 provides=('kylin-virtual-keyboard')
 conflicts=('kylin-virtual-keyboard-bin')
 replaces=()
-source=('git+https://gitee.com/openkylin/kylin-virtual-keyboard.git')
-makedepends=('git')
-sha512sums=('SKIP')
+source=('git+https://gitee.com/openkylin/kylin-virtual-keyboard.git' 'port-to-KX11Extras.patch')
+makedepends=('git' 'cmake')
+sha512sums=('SKIP' 'SKIP')
 depends=(
     'qt5-base'
     'fcitx5'
@@ -29,6 +29,7 @@ depends=(

 build() {
     cd ${srcdir}/${_pkgname}
+       patch -Np1 -i "${srcdir}/port-to-KX11Extras.patch"
     cmake -DCMAKE_INSTALL_PREFIX=/usr .
     make
 }

但即使可以编译成功,运行时也会遇到

zsh: segmentation fault (core dumped)  kylin-virtual-keyboard-xwayland

不知道如何解决。

anlorsp commented on 2025-05-08 04:59 (UTC)

/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp: In constructor ‘AppInputAreaManager::AppInputAreaManager(QObject*)’:
/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp:23:20: 错误:‘setType’不是‘KWindowSystem’的成员
   23 |     KWindowSystem::setType(dummyWidget_.winId(), NET::Dock);
      |                    ^~~~~~~
/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp:23:50: 错误:‘NET’未声明
   23 |     KWindowSystem::setType(dummyWidget_.winId(), NET::Dock);
      |                                                  ^~~
/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp: In lambda function:
/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp:35:24: 错误:‘setExtendedStrut’不是‘KWindowSystem’的成员
   35 |         KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0,
      |                        ^~~~~~~~~~~~~~~~
/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp: In member function ‘void AppInputAreaManager::fallInputArea()’:
/home/anlorsp/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard/src/appinputareamanager.cpp:49:20: 错误:‘setExtendedStrut’不是‘KWindowSystem’的成员
   49 |     KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, 0,
      |                    ^~~~~~~~~~~~~~~~

q234rty commented on 2025-04-24 07:33 (UTC)

This needs cmake as makedepends.

Mooling0602 commented on 2024-11-27 05:46 (UTC) (edited on 2024-11-27 05:46 (UTC) by Mooling0602)

==> 正在开始 build()...
Cannot read /home/mooling/.cache/yay/kylin-virtual-keyboard-git/src/kylin-virtual-keyboard: file to open is a directory
Error processing project file: .
==> 错误: 在 build() 中发生一个错误。
    正在放弃...
 -> 生成时出错: kylin-virtual-keyboard-git-exit status 4
 -> 无法安装以下软件包, 需要手动介入处理:
kylin-virtual-keyboard-git - exit status 4