dde-control-center/0002-dde-control-center-delete-keyboard-wayland.patch
leeffo d411ae843b upgrade to version 5.5.182
(cherry picked from commit 26a55841168beb9e8f439ae5bb4f3ced5ddce26a)
2023-08-18 15:52:03 +08:00

1462 lines
56 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From a582d95e0c13d758e36d6045198f42a567a270fb Mon Sep 17 00:00:00 2001
From: leeffo <leeffo@yeah.net>
Date: Thu, 29 Dec 2022 15:42:49 +0800
Subject: [PATCH] delete keyboard wayland
---
src/frame/CMakeLists.txt | 17 +-
src/frame/modules/keyboard/customedit.cpp | 75 +-----
src/frame/modules/keyboard/customedit.h | 9 -
src/frame/modules/keyboard/keyboardwork.cpp | 8 +-
src/frame/modules/keyboard/keyboardwork.h | 1 -
.../modules/keyboard/shortcutcontent.cpp | 85 +-----
src/frame/modules/keyboard/shortcutcontent.h | 10 -
src/frame/modules/keyboard/shortcutitem.cpp | 1 -
src/frame/modules/keyboard/shortcutmodel.cpp | 33 +--
src/frame/modules/keyboard/shortcutmodel.h | 1 -
.../authentication/biologicalbasedialog.h | 2 +-
.../authentication/faceiddetailwidget.cpp | 2 +-
.../window/modules/keyboard/customcontent.cpp | 73 ------
.../window/modules/keyboard/customcontent.h | 7 -
.../modules/keyboard/keyboardmodule.cpp | 18 +-
.../keyboard/shortcutsettingwidget.cpp | 78 +-----
.../modules/keyboard/shortcutsettingwidget.h | 7 -
...wayland-keyboard-grab-v1-client-protocol.h | 248 ------------------
...yland-xwayland-keyboard-grab-v1-protocol.c | 60 -----
.../window/modules/keyboard/waylandgrab.cpp | 79 ------
.../window/modules/keyboard/waylandgrab.h | 45 ----
src/frame/window/utils.h | 12 -
tests/dde-control-center/CMakeLists.txt | 12 +-
23 files changed, 19 insertions(+), 864 deletions(-)
delete mode 100644 src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-client-protocol.h
delete mode 100644 src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-protocol.c
delete mode 100644 src/frame/window/modules/keyboard/waylandgrab.cpp
delete mode 100644 src/frame/window/modules/keyboard/waylandgrab.h
diff --git a/src/frame/CMakeLists.txt b/src/frame/CMakeLists.txt
index a5c64d0..223eeb7 100644
--- a/src/frame/CMakeLists.txt
+++ b/src/frame/CMakeLists.txt
@@ -22,6 +22,9 @@ endif()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
+# disable qt keywords, cause gio have signals member;
+ADD_DEFINITIONS(-DQT_NO_KEYWORDS)
+
if (DEFINED ENABLE_MIEEE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mieee")
endif()
@@ -406,9 +409,6 @@ set(KEYBOARD_FILES
window/modules/keyboard/systemlanguagesettingwidget.cpp
window/modules/keyboard/shortcutsettingwidget.cpp
window/modules/keyboard/systemlanguagewidget.cpp
- window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-protocol.c
- window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-client-protocol.h
- window/modules/keyboard/waylandgrab.cpp
)
# load mouse
@@ -598,15 +598,12 @@ find_package(Qt5 COMPONENTS
DBus
Multimedia
Svg
- WaylandClient
REQUIRED)
if(${Qt5_VERSION} VERSION_GREATER "5.15.1")
find_package(Qt5 COMPONENTS
XkbCommonSupport
REQUIRED)
endif()
-find_package(KF5Wayland QUIET)
-pkg_check_modules(WaylandClient REQUIRED wayland-client)
pkg_check_modules(XCB_EWMH REQUIRED xcb-ewmh x11 xext xkbcommon)
pkg_check_modules(DFrameworkDBus REQUIRED dframeworkdbus)
pkg_check_modules(QGSettings REQUIRED gsettings-qt)
@@ -624,7 +621,6 @@ set(Qt_LIBS
Qt5::Widgets
Qt5::X11Extras
Qt5::Multimedia
- Qt5::WaylandClient
)
set(DEEPIN_PW_CHECK libdeepin_pw_check.so)
@@ -730,7 +726,6 @@ target_include_directories(dccwidgets PUBLIC
${CMAKE_SOURCE_DIR}/include
${DtkWidget_INCLUDE_DIRS}
${Qt5Gui_PRIVATE_INCLUDE_DIRS}
- ${Qt5WaylandClient_PRIVATE_INCLUDE_DIRS}
${WaylandClient_INCLUDE_DIRS}
${XCB_EWMH_INCLUDE_DIRS}
)
@@ -745,9 +740,6 @@ target_link_libraries(dccwidgets PRIVATE
${DtkWidget_LIBRARIES}
${Qt5Widgets_LIBRARIES}
${Qt5Svg_LIBRARIES}
- KF5::WaylandClient
- Qt5::WaylandClient
- ${WaylandClient_LIBRARIES}
)
@@ -782,9 +774,6 @@ target_link_libraries(${BIN_NAME} PRIVATE
crypt
${LIBS}
PolkitQt5-1::Agent
- KF5::WaylandClient
- Qt5::WaylandClient
- ${WaylandClient_LIBRARIES}
)
# bin
install(TARGETS ${BIN_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/src/frame/modules/keyboard/customedit.cpp b/src/frame/modules/keyboard/customedit.cpp
index fe5b6ad..99347a9 100644
--- a/src/frame/modules/keyboard/customedit.cpp
+++ b/src/frame/modules/keyboard/customedit.cpp
@@ -5,19 +5,15 @@
#include "customedit.h"
#include "widgets/translucentframe.h"
#include "customitem.h"
-#include "window/modules/keyboard/waylandgrab.h"
-#include "window/utils.h"
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QFileDialog>
-#include <QGuiApplication>
#include <DIconButton>
DWIDGET_USE_NAMESPACE
-using namespace DCC_NAMESPACE;
keyboard::CustomEdit::CustomEdit(ShortcutModel *model, QWidget *parent):
ContentWidget(parent),
@@ -27,12 +23,8 @@ keyboard::CustomEdit::CustomEdit(ShortcutModel *model, QWidget *parent):
m_command(new LineEditWidget),
m_short(new CustomItem(this)),
m_tip(new QLabel),
- m_conflict(nullptr),
- m_waylandGrab(nullptr)
+ m_conflict(nullptr)
{
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- m_waylandGrab = new WaylandGrab(this->topLevelWidget());
- }
m_tip->setVisible(false);
m_tip->setWordWrap(true);
@@ -204,68 +196,3 @@ void keyboard::CustomEdit::onUpdateKey()
{
Q_EMIT requestUpdateKey(nullptr);
}
-
-void keyboard::CustomEdit::onGrab(ShortcutInfo *info)
-{
- if (m_waylandGrab)
- m_waylandGrab->onGrab(info);
-}
-
-void keyboard::CustomEdit::keyPressEvent(QKeyEvent *e)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- m_waylandGrab->setKeyValue(WaylandkeyMap[e->key()]);
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
-
- m_waylandGrab->setRecordState(true);
- keyEvent(true, m_waylandGrab->getRecordState() ? lastKey + keyValue : keyValue);
- if (e->key() == Qt::Key_Control || e->key() == Qt::Key_Alt
- || e->key() == Qt::Key_Shift || e->key() == Qt::Key_Super_L || e->key() == Qt::Key_Super_R) {
- lastKey += ("<" + keyValue.remove(keyValue.indexOf("_"), 2) + ">");
- m_waylandGrab->setLastKey(lastKey);
- }
- QWidget::keyPressEvent(e);
-}
-
-void keyboard::CustomEdit::keyReleaseEvent(QKeyEvent *e)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm() || !m_waylandGrab->getRecordState()) {
- return;
- }
- QString lastKey = m_waylandGrab->getLastKey();
- const QString keyValue = m_waylandGrab->getKeyValue();
- if (!lastKey.isEmpty()) {
- if (WaylandkeyMap[Qt::Key_Control] == keyValue
- || WaylandkeyMap[Qt::Key_Alt] == keyValue || WaylandkeyMap[Qt::Key_Shift] == keyValue) {
- keyEvent(false, "");
- } else if (WaylandkeyMap[Qt::Key_Super_L] == keyValue || WaylandkeyMap[Qt::Key_Super_R] == keyValue) {
- keyEvent(false, "Super_L");
- } else {
- keyEvent(false, lastKey + keyValue);
- }
- } else {
- keyEvent(false, "");
- }
- m_waylandGrab->setLastKey("");
- m_waylandGrab->setRecordState(false);
- m_waylandGrab->onUnGrab();
- QWidget::keyReleaseEvent(e);
-}
-
-void keyboard::CustomEdit::mousePressEvent(QMouseEvent *e)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- setFocus();
- if (!m_waylandGrab->getRecordState()) {
- m_waylandGrab->onUnGrab();
- }
- QWidget::mousePressEvent(e);
-}
diff --git a/src/frame/modules/keyboard/customedit.h b/src/frame/modules/keyboard/customedit.h
index cceeb3b..bfc5ac6 100644
--- a/src/frame/modules/keyboard/customedit.h
+++ b/src/frame/modules/keyboard/customedit.h
@@ -16,8 +16,6 @@
using namespace dcc;
using namespace dcc::widgets;
-class WaylandGrab;
-
namespace dcc {
namespace keyboard{
struct ShortcutInfo;
@@ -37,12 +35,6 @@ Q_SIGNALS:
public Q_SLOTS:
void setBottomTip(ShortcutInfo *conflict);
void keyEvent(bool press, const QString &shortcut);
- void onGrab(ShortcutInfo *info);
-
-protected:
- void keyPressEvent(QKeyEvent *e) override;
- void keyReleaseEvent(QKeyEvent *e) override;
- void mousePressEvent(QMouseEvent *e) override;
private Q_SLOTS:
void onOpenFile();
@@ -58,7 +50,6 @@ private:
ShortcutInfo *m_info;
QLabel *m_tip;
ShortcutInfo *m_conflict;
- WaylandGrab *m_waylandGrab;
};
}
}
diff --git a/src/frame/modules/keyboard/keyboardwork.cpp b/src/frame/modules/keyboard/keyboardwork.cpp
index 1f66cf7..b4f8723 100644
--- a/src/frame/modules/keyboard/keyboardwork.cpp
+++ b/src/frame/modules/keyboard/keyboardwork.cpp
@@ -10,7 +10,6 @@
#include <QLocale>
#include <QCollator>
#include <QCoreApplication>
-#include <QGuiApplication>
namespace dcc {
namespace keyboard{
@@ -605,11 +604,8 @@ void KeyboardWorker::updateKey(ShortcutInfo *info)
{
if (m_shortcutModel)
m_shortcutModel->setCurrentInfo(info);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- Q_EMIT stareGrab(info);
- } else {
- m_keybindInter->SelectKeystroke();
- }
+
+ m_keybindInter->SelectKeystroke();
}
void KeyboardWorker::cleanShortcutSlef(const QString &id, const int type, const QString &shortcut)
diff --git a/src/frame/modules/keyboard/keyboardwork.h b/src/frame/modules/keyboard/keyboardwork.h
index d5b1add..f04b1fe 100644
--- a/src/frame/modules/keyboard/keyboardwork.h
+++ b/src/frame/modules/keyboard/keyboardwork.h
@@ -83,7 +83,6 @@ Q_SIGNALS:
// 快捷键恢复默认完成
void onResetFinished();
- void stareGrab(ShortcutInfo *info);
public Q_SLOTS:
#ifndef DCC_DISABLE_LANGUAGE
diff --git a/src/frame/modules/keyboard/shortcutcontent.cpp b/src/frame/modules/keyboard/shortcutcontent.cpp
index c3f5129..815b15d 100644
--- a/src/frame/modules/keyboard/shortcutcontent.cpp
+++ b/src/frame/modules/keyboard/shortcutcontent.cpp
@@ -9,15 +9,10 @@
#include "keyboardcontrol.h"
#include "widgets/translucentframe.h"
#include "keyboardmodel.h"
-#include "window/modules/keyboard/waylandgrab.h"
-#include "window/utils.h"
#include <QVBoxLayout>
-#include <QGuiApplication>
#include <QKeyEvent>
-using namespace DCC_NAMESPACE;
-
namespace dcc {
namespace keyboard {
ShortcutContent::ShortcutContent(ShortcutModel *model, QWidget *parent)
@@ -26,11 +21,7 @@ ShortcutContent::ShortcutContent(ShortcutModel *model, QWidget *parent)
, m_conflict(nullptr)
, m_shortcutItem(new ShortcutItem)
, m_buttonTuple(new ButtonTuple(ButtonTuple::Save))
- , m_waylandGrab(nullptr)
{
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- m_waylandGrab = new WaylandGrab(this->topLevelWidget());
- }
TranslucentFrame *widget = new TranslucentFrame();
setContentsMargins(10, 10, 10, 10);
QVBoxLayout *layout = new QVBoxLayout();
@@ -117,17 +108,12 @@ void ShortcutContent::setShortcut(const QString &shortcut)
m_shortcutItem->setShortcut(shortcut);
}
-void ShortcutContent::setConflictShortcut(const QString &shortcut)
-{
- m_conflictShortcut = shortcut;
-}
-
void ShortcutContent::keyEvent(bool press, const QString &shortcut)
{
if (!press) {
if (shortcut.isEmpty()) {
- setBottomTip(m_shortcut == m_conflictShortcut ? m_conflict : nullptr);
+ setBottomTip(m_info);
m_shortcutItem->setShortcut(m_shortcut);
return;
}
@@ -145,12 +131,9 @@ void ShortcutContent::keyEvent(bool press, const QString &shortcut)
if (info && info != m_info && info->accels != m_info->accels) {
m_shortcutItem->setShortcut(info->accels);
setBottomTip(info);
- setConflictShortcut(shortcut);
return;
}
- }
- if (!shortcut.isEmpty()) {
setBottomTip(nullptr);
m_shortcutItem->setShortcut(shortcut);
}
@@ -175,71 +158,5 @@ void ShortcutContent::onUpdateKey()
Q_EMIT requestUpdateKey(nullptr);
}
-void ShortcutContent::onGrab(ShortcutInfo *info)
-{
- if (m_waylandGrab)
- m_waylandGrab->onGrab(info);
-}
-
-void ShortcutContent::keyPressEvent(QKeyEvent *ke)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- unsigned int keKey = static_cast<unsigned int>(ke->key());
- m_waylandGrab->setKeyValue(WaylandkeyMap[keKey]);
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
-
- m_waylandGrab->setRecordState(true);
- keyEvent(true, m_waylandGrab->getRecordState() ? lastKey + keyValue : keyValue);
- if (keKey == Qt::Key_Control || keKey == Qt::Key_Alt
- || keKey == Qt::Key_Shift || keKey == Qt::Key_Super_L || keKey == Qt::Key_Super_R) {
- lastKey += ("<" + keyValue.remove(keyValue.indexOf("_"), 2) + ">");
- m_waylandGrab->setLastKey(lastKey);
- }
- return QWidget::keyPressEvent(ke);
-}
-
-void ShortcutContent::keyReleaseEvent(QKeyEvent *ke)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()|| !m_waylandGrab->getRecordState()) {
- return;
- }
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
- if (!lastKey.isEmpty()) {
- if (WaylandkeyMap[Qt::Key_Control] == keyValue
- || WaylandkeyMap[Qt::Key_Alt] == keyValue || WaylandkeyMap[Qt::Key_Shift] == keyValue) {
- keyEvent(false, "");
- } else if (WaylandkeyMap[Qt::Key_Super_L] == keyValue || WaylandkeyMap[Qt::Key_Super_R] == keyValue) {
- keyEvent(false, "Super_L");
- } else {
- keyEvent(false, lastKey + keyValue);
- }
- } else {
- keyEvent(false, "");
- }
- m_waylandGrab->setLastKey("");
- m_waylandGrab->setRecordState(false);
- m_waylandGrab->onUnGrab();
- return QWidget::keyReleaseEvent(ke);
-}
-
-void ShortcutContent::mousePressEvent(QMouseEvent *e)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- setFocus();
- if (!m_waylandGrab->getRecordState()) {
- m_waylandGrab->onUnGrab();
- }
- QWidget::mousePressEvent(e);
-}
-
}
}
diff --git a/src/frame/modules/keyboard/shortcutcontent.h b/src/frame/modules/keyboard/shortcutcontent.h
index 5e31eb8..f1138a1 100644
--- a/src/frame/modules/keyboard/shortcutcontent.h
+++ b/src/frame/modules/keyboard/shortcutcontent.h
@@ -14,7 +14,6 @@
#include "widgets/buttontuple.h"
using namespace dcc;
-class WaylandGrab;
namespace dcc {
namespace keyboard{
@@ -31,7 +30,6 @@ public:
void setBottomTip(ShortcutInfo *conflict);
void setInfo(ShortcutInfo *info);
void setShortcut(const QString &shortcut);
- void setConflictShortcut(const QString &shortcut);
Q_SIGNALS:
void requestUpdateKey(ShortcutInfo *conflict);
@@ -42,12 +40,6 @@ public Q_SLOTS:
void keyEvent(bool press, const QString &shortcut);
void onReplace();
void onUpdateKey();
- void onGrab(ShortcutInfo *info);
-
-protected:
- void keyPressEvent(QKeyEvent *ke) override;
- void keyReleaseEvent(QKeyEvent *ke) override;
- void mousePressEvent(QMouseEvent *e) override;
private:
ShortcutModel *m_model;
@@ -58,8 +50,6 @@ private:
dcc::widgets::ButtonTuple *m_buttonTuple;
TitleButtonItem* m_item;
QString m_shortcut;
- QString m_conflictShortcut;
- WaylandGrab *m_waylandGrab;
};
}
}
diff --git a/src/frame/modules/keyboard/shortcutitem.cpp b/src/frame/modules/keyboard/shortcutitem.cpp
index facb5d2..1a75eff 100644
--- a/src/frame/modules/keyboard/shortcutitem.cpp
+++ b/src/frame/modules/keyboard/shortcutitem.cpp
@@ -128,7 +128,6 @@ void ShortcutItem::setShortcut(const QString &shortcut)
accels = accels.replace("Control", "Ctrl");
m_key->setTextList(accels.split("-"));
- m_key->setFocus();
QTimer::singleShot(0, this, &ShortcutItem::updateTitleSize);
}
diff --git a/src/frame/modules/keyboard/shortcutmodel.cpp b/src/frame/modules/keyboard/shortcutmodel.cpp
index 44c33d8..df1112f 100644
--- a/src/frame/modules/keyboard/shortcutmodel.cpp
+++ b/src/frame/modules/keyboard/shortcutmodel.cpp
@@ -303,12 +303,8 @@ void ShortcutModel::setCurrentInfo(ShortcutInfo *currentInfo)
ShortcutInfo *ShortcutModel::getInfo(const QString &shortcut)
{
- QString newShortcut = shortcut;
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- newShortcut = parseKeystroke(newShortcut);
- }
auto res = std::find_if(m_infos.begin(), m_infos.end(), [ = ] (const ShortcutInfo *info)->bool{
- return !QString::compare(info->accels, newShortcut, Qt::CaseInsensitive); //判断是否相等相等则返回0
+ return !QString::compare(info->accels, shortcut, Qt::CaseInsensitive); //判断是否相等相等则返回0
});
if (res != m_infos.end()) {
@@ -318,33 +314,6 @@ ShortcutInfo *ShortcutModel::getInfo(const QString &shortcut)
return nullptr;
}
-QString ShortcutModel::parseKeystroke(QString& shortcut)
-{
- // 如<Alt><Super><Control><Shift>L转换后为<Shift><Control><Alt><Super>L
- QStringList keys = shortcut.replace(">", ">,").split(",");
- keys.removeAll("");
- QString sortArr[5];
- foreach (const QString& key, keys) {
- if (key.contains("Shift")) {
- sortArr[0] = key;
- } else if (key.contains("Control")) {
- sortArr[1] = key;
- } else if (key.contains("Alt")) {
- sortArr[2] = key;
- } else if (key.contains("Super")) {
- sortArr[3] = key;
- } else {
- sortArr[4] = key;
- }
- }
- QString newShort;
- for (const QString& key : sortArr) {
- if (!key.isEmpty()) {
- newShort += key;
- }
- }
- return newShort;
-}
void ShortcutModel::setSearchResult(const QString &searchResult)
{
diff --git a/src/frame/modules/keyboard/shortcutmodel.h b/src/frame/modules/keyboard/shortcutmodel.h
index 0e67f1f..537ec4d 100644
--- a/src/frame/modules/keyboard/shortcutmodel.h
+++ b/src/frame/modules/keyboard/shortcutmodel.h
@@ -78,7 +78,6 @@ public:
ShortcutInfo *getInfo(const QString &shortcut);
void setSearchResult(const QString &searchResult);
bool getWindowSwitch();
- QString parseKeystroke(QString& shortcuts);
Q_SIGNALS:
void listChanged(QList<ShortcutInfo *>, InfoType);
diff --git a/src/frame/window/modules/authentication/biologicalbasedialog.h b/src/frame/window/modules/authentication/biologicalbasedialog.h
index 77c28fd..7f25e05 100644
--- a/src/frame/window/modules/authentication/biologicalbasedialog.h
+++ b/src/frame/window/modules/authentication/biologicalbasedialog.h
@@ -24,7 +24,7 @@ public:
explicit BiologicalBaseDialog(QWidget *parent = nullptr);
~BiologicalBaseDialog();
-public slots:
+public Q_SLOTS:
void onShowDisclaimer();
void onAcceptDisclaimer(bool accept);
diff --git a/src/frame/window/modules/authentication/faceiddetailwidget.cpp b/src/frame/window/modules/authentication/faceiddetailwidget.cpp
index cc32719..2dd32eb 100644
--- a/src/frame/window/modules/authentication/faceiddetailwidget.cpp
+++ b/src/frame/window/modules/authentication/faceiddetailwidget.cpp
@@ -43,7 +43,7 @@ FaceidDetailWidget::FaceidDetailWidget(dcc::authentication::CharaMangerModel *mo
FaceidDetailWidget::~FaceidDetailWidget()
{
- emit requestStopEnroll();
+ Q_EMIT requestStopEnroll();
}
void FaceidDetailWidget::initFaceidShow()
diff --git a/src/frame/window/modules/keyboard/customcontent.cpp b/src/frame/window/modules/keyboard/customcontent.cpp
index 0fd17e1..d36c02c 100644
--- a/src/frame/window/modules/keyboard/customcontent.cpp
+++ b/src/frame/window/modules/keyboard/customcontent.cpp
@@ -12,8 +12,6 @@
#include "widgets/buttontuple.h"
#include "widgets/lineeditwidget.h"
#include "widgets/settingsgroup.h"
-#include "window/utils.h"
-#include "waylandgrab.h"
#include <dfilechooseredit.h>
@@ -24,7 +22,6 @@
#include <QVBoxLayout>
#include <QFileDialog>
#include <QPushButton>
-#include <QGuiApplication>
DWIDGET_USE_NAMESPACE
@@ -38,12 +35,7 @@ CustomContent::CustomContent(ShortcutModel *model, QWidget *parent)
, m_conflict(nullptr)
, m_model(model)
, m_buttonTuple(new ButtonTuple(ButtonTuple::Save))
- , m_waylandGrab(nullptr)
{
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- m_waylandGrab = new WaylandGrab(this->parent());
- }
-
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->setContentsMargins(10, 35, 10, 0);
//~ contents_path /keyboard/Shortcuts/Add Custom Shortcut
@@ -207,68 +199,3 @@ void CustomContent::updateKey()
{
Q_EMIT requestUpdateKey(nullptr);
}
-
-void CustomContent::onGrab(ShortcutInfo *info)
-{
- if (m_waylandGrab)
- m_waylandGrab->onGrab(info);
-}
-
-void CustomContent::keyPressEvent(QKeyEvent *ke)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- m_waylandGrab->setKeyValue(WaylandkeyMap[ke->key()]);
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
-
- m_waylandGrab->setRecordState(true);
- keyEvent(true, m_waylandGrab->getRecordState() ? lastKey + keyValue : keyValue);
- if (ke->key() == Qt::Key_Control || ke->key() == Qt::Key_Alt
- || ke->key() == Qt::Key_Shift || ke->key() == Qt::Key_Super_L || ke->key() == Qt::Key_Super_R) {
- lastKey += ("<" + keyValue.remove(keyValue.indexOf("_"), 2) + ">");
- m_waylandGrab->setLastKey(lastKey);
- }
- return QWidget::keyPressEvent(ke);
-}
-
-void CustomContent::keyReleaseEvent(QKeyEvent *ke)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm() || !m_waylandGrab->getRecordState()) {
- return;
- }
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
- if (!lastKey.isEmpty()) {
- if (WaylandkeyMap[Qt::Key_Control] == keyValue
- || WaylandkeyMap[Qt::Key_Alt] == keyValue || WaylandkeyMap[Qt::Key_Shift] == keyValue) {
- keyEvent(false, "");
- } else if (WaylandkeyMap[Qt::Key_Super_L] == keyValue || WaylandkeyMap[Qt::Key_Super_R] == keyValue) {
- keyEvent(false, "Super_L");
- } else {
- keyEvent(false, lastKey + keyValue);
- }
- } else {
- keyEvent(false, "");
- }
- m_waylandGrab->setLastKey("");
- m_waylandGrab->setRecordState(false);
- m_waylandGrab->onUnGrab();
- return QWidget::keyReleaseEvent(ke);
-}
-
-void CustomContent::mousePressEvent(QMouseEvent *e)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- setFocus();
- if (!m_waylandGrab->getRecordState()) {
- m_waylandGrab->onUnGrab();
- }
- QWidget::mousePressEvent(e);
-}
\ No newline at end of file
diff --git a/src/frame/window/modules/keyboard/customcontent.h b/src/frame/window/modules/keyboard/customcontent.h
index adfa6ab..076cc6f 100644
--- a/src/frame/window/modules/keyboard/customcontent.h
+++ b/src/frame/window/modules/keyboard/customcontent.h
@@ -51,12 +51,6 @@ public Q_SLOTS:
void keyEvent(bool press, const QString &shortcut);
void updateKey();
- void onGrab(dcc::keyboard::ShortcutInfo *info);
-
-protected:
- void keyPressEvent(QKeyEvent *ke) override;
- void keyReleaseEvent(QKeyEvent *ke) override;
- void mousePressEvent(QMouseEvent *e) override;
private:
dcc::keyboard::KeyboardWorker *m_work;
@@ -68,7 +62,6 @@ private:
dcc::keyboard::ShortcutModel *m_model;
dcc::widgets::ButtonTuple *m_buttonTuple;
- WaylandGrab *m_waylandGrab;
};
}
}
diff --git a/src/frame/window/modules/keyboard/keyboardmodule.cpp b/src/frame/window/modules/keyboard/keyboardmodule.cpp
index 12e8d74..463c627 100644
--- a/src/frame/window/modules/keyboard/keyboardmodule.cpp
+++ b/src/frame/window/modules/keyboard/keyboardmodule.cpp
@@ -20,7 +20,6 @@
#include "modules/keyboard/shortcutcontent.h"
#include "window/mainwindow.h"
-#include <QGuiApplication>
using namespace dcc;
using namespace dcc::keyboard;
@@ -352,7 +351,7 @@ void KeyboardModule::onAddLocale(const QModelIndex &index)
void KeyboardModule::showShortCutSetting()
{
m_work->refreshShortcut();
- m_shortcutSettingWidget = new ShortCutSettingWidget(m_shortcutModel, m_pMainWindow);
+ m_shortcutSettingWidget = new ShortCutSettingWidget(m_shortcutModel);
GSettingWatcher::instance()->bind("keyboardShortcut", m_shortcutSettingWidget); // 使用GSettings来控制显示状态
m_shortcutSettingWidget->setVisible(false);
connect(m_shortcutSettingWidget, &ShortCutSettingWidget::customShortcut, this, &KeyboardModule::onPushCustomShortcut);
@@ -368,9 +367,6 @@ void KeyboardModule::showShortCutSetting()
connect(m_work, &KeyboardWorker::searchChangd, m_shortcutSettingWidget, &ShortCutSettingWidget::onSearchInfo);
connect(m_work, &KeyboardWorker::onResetFinished, m_shortcutSettingWidget, &ShortCutSettingWidget::onResetFinished);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- connect(m_work, &KeyboardWorker::stareGrab, m_shortcutSettingWidget, &ShortCutSettingWidget::onGrab);
- }
m_frameProxy->pushWidget(this, m_shortcutSettingWidget);
m_shortcutSettingWidget->setVisible(GSettingWatcher::instance()->getStatus("keyboardShortcut") != "Hidden");
@@ -393,7 +389,7 @@ void KeyboardModule::onPushSystemLanguageSetting()
void KeyboardModule::onPushCustomShortcut()
{
- m_customContent = new CustomContent(m_shortcutModel, m_pMainWindow);
+ m_customContent = new CustomContent(m_shortcutModel);
m_customContent->setVisible(false);
m_customContent->setAccessibleName(tr("Custom Shortcut"));
connect(m_customContent, &CustomContent::requestUpdateKey, m_work, &KeyboardWorker::updateKey);
@@ -401,9 +397,6 @@ void KeyboardModule::onPushCustomShortcut()
connect(m_customContent, &CustomContent::requestForceSubs, m_work, &KeyboardWorker::onDisableShortcut);
connect(m_customContent, &CustomContent::back, this, &KeyboardModule::showShortCutSetting);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- connect(m_work, &KeyboardWorker::stareGrab, m_customContent, &CustomContent::onGrab);
- }
m_frameProxy->pushWidget(this, m_customContent);
m_customContent->setVisible(true);
@@ -419,13 +412,9 @@ void KeyboardModule::onPushConflict(ShortcutInfo *info, const QString &shortcut)
connect(m_scContent, &ShortcutContent::requestUpdateKey, m_work, &KeyboardWorker::updateKey);
connect(m_scContent, &ShortcutContent::requestDisableShortcut, m_work, &KeyboardWorker::onDisableShortcut);
connect(m_scContent, &ShortcutContent::back, this, &KeyboardModule::showShortCutSetting);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- connect(m_work, &KeyboardWorker::stareGrab, m_scContent, &ShortcutContent::onGrab);
- }
m_scContent->setInfo(info);
m_scContent->setShortcut(shortcut);
- m_scContent->setConflictShortcut(shortcut);
m_scContent->setBottomTip(m_shortcutModel->getInfo(shortcut));
m_frameProxy->pushWidget(this, m_scContent);
@@ -446,9 +435,6 @@ void KeyboardModule::onShortcutEdit(ShortcutInfo *info)
connect(m_customEdit, &CustomEdit::requestSaveShortcut, head, &SettingsHead::toCancel);
connect(m_customEdit, &CustomEdit::requestSaveShortcut, m_work, &KeyboardWorker::modifyCustomShortcut);
connect(m_customEdit, &CustomEdit::back, this, &KeyboardModule::showShortCutSetting);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- connect(m_work, &KeyboardWorker::stareGrab, m_customEdit, &CustomEdit::onGrab);
- }
m_frameProxy->pushWidget(this, m_customEdit);
m_customEdit->setVisible(true);
diff --git a/src/frame/window/modules/keyboard/shortcutsettingwidget.cpp b/src/frame/window/modules/keyboard/shortcutsettingwidget.cpp
index 8b7024e..44989b0 100644
--- a/src/frame/window/modules/keyboard/shortcutsettingwidget.cpp
+++ b/src/frame/window/modules/keyboard/shortcutsettingwidget.cpp
@@ -12,12 +12,10 @@
#include "widgets/settingsgroup.h"
#include "widgets/searchinput.h"
#include "window/gsettingwatcher.h"
-#include "waylandgrab.h"
#include <DAnchors>
#include <QLineEdit>
-#include <QGuiApplication>
using namespace DCC_NAMESPACE;
using namespace DCC_NAMESPACE::keyboard;
@@ -29,12 +27,7 @@ ShortCutSettingWidget::ShortCutSettingWidget(ShortcutModel *model, QWidget *pare
, m_workspaceGroup(nullptr)
, m_assistiveToolsGroup(nullptr)
, m_model(model)
- , m_waylandGrab(nullptr)
{
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- m_waylandGrab = new WaylandGrab(this->parent());
- }
-
setAccessibleName("ShortCutSettingWidget");
m_searchDelayTimer = new QTimer(this);
m_searchDelayTimer->setInterval(300);
@@ -242,12 +235,12 @@ void ShortCutSettingWidget::addShortcut(QList<ShortcutInfo *> list, ShortcutMode
ShortcutItem *item = new ShortcutItem();
item->setAccessibleName(info->name);
connect(item, &ShortcutItem::requestUpdateKey, this, &ShortCutSettingWidget::requestUpdateKey);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- connect(item, &ShortcutItem::waylandEditKeyFinshed, this, [ this ]{
- if(m_waylandGrab && !m_waylandGrab->getRecordState())
- m_waylandGrab->onUnGrab();
- });
- }
+ //if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
+ // connect(item, &ShortcutItem::waylandEditKeyFinshed, this, [ this ]{
+ // if(m_waylandGrab && !m_waylandGrab->getRecordState())
+ // m_waylandGrab->onUnGrab();
+ // });
+ //}
item->setShortcutInfo(info);
item->setTitle(info->name);
info->item = item;
@@ -444,11 +437,6 @@ void ShortCutSettingWidget::onSearchStringFinish(const QList<ShortcutInfo*> sear
ShortcutItem *item = new ShortcutItem;
connect(item, &ShortcutItem::requestUpdateKey, this, &ShortCutSettingWidget::requestUpdateKey);
- if (QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)) {
- connect(this, &ShortCutSettingWidget::changed, [ & ] {
- onSearchTextChanged(m_searchText);
- });
- }
item->setShortcutInfo(list[i]);
item->setTitle(list[i]->name);
item->setFixedHeight(36);
@@ -536,57 +524,3 @@ void ShortCutSettingWidget::onResetFinished()
{
m_bIsResting = false;
}
-
-void ShortCutSettingWidget::onGrab(ShortcutInfo *info)
-{
- if (m_waylandGrab)
- m_waylandGrab->onGrab(info);
-}
-
-void ShortCutSettingWidget::keyPressEvent(QKeyEvent *ke)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm()) {
- return;
- }
- unsigned int keKey = static_cast<unsigned int>(ke->key());
- m_waylandGrab->setKeyValue(WaylandkeyMap[keKey]);
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
-
- m_waylandGrab->setRecordState(true);
- onKeyEvent(true, m_waylandGrab->getRecordState() ? lastKey + keyValue : keyValue);
- if (keKey == Qt::Key_Control || keKey == Qt::Key_Alt
- || keKey == Qt::Key_Shift || keKey == Qt::Key_Super_L || keKey == Qt::Key_Super_R) {
- lastKey += ("<" + keyValue.remove(keyValue.indexOf("_"), 2) + ">");
- m_waylandGrab->setLastKey(lastKey);
- }
- QWidget::keyPressEvent(ke);
-}
-
-void ShortCutSettingWidget::keyReleaseEvent(QKeyEvent *ke)
-{
- if (!QGuiApplication::platformName().startsWith("wayland", Qt::CaseInsensitive)
- || !m_waylandGrab || !m_waylandGrab->getZxgm() || !m_waylandGrab->getRecordState()) {
- return;
- }
- QString lastKey = m_waylandGrab->getLastKey();
- QString keyValue = m_waylandGrab->getKeyValue();
- if (!lastKey.isEmpty()) {
- if (WaylandkeyMap[Qt::Key_Control] == keyValue
- || WaylandkeyMap[Qt::Key_Alt] == keyValue || WaylandkeyMap[Qt::Key_Shift] == keyValue) {
- onKeyEvent(false, "");
- } else if (WaylandkeyMap[Qt::Key_Super_L] == keyValue || WaylandkeyMap[Qt::Key_Super_R] == keyValue) {
- onKeyEvent(false, "Super_L");
- } else {
- onKeyEvent(false, lastKey + keyValue);
- }
- } else {
- onKeyEvent(false, "");
- }
- m_waylandGrab->setLastKey("");
- m_waylandGrab->setRecordState(false);
- Q_EMIT changed(m_waylandGrab->getInfo()->id, m_waylandGrab->getInfo()->type);
- m_waylandGrab->onUnGrab();
- QWidget::keyReleaseEvent(ke);
-}
diff --git a/src/frame/window/modules/keyboard/shortcutsettingwidget.h b/src/frame/window/modules/keyboard/shortcutsettingwidget.h
index d9941f5..d8ced0a 100644
--- a/src/frame/window/modules/keyboard/shortcutsettingwidget.h
+++ b/src/frame/window/modules/keyboard/shortcutsettingwidget.h
@@ -61,7 +61,6 @@ Q_SIGNALS:
void requestReset();
void requestSearch(const QString &key);
- void changed(const QString &in0, int in1);
public Q_SLOTS:
void onSearchTextChanged(const QString &text);
@@ -75,11 +74,6 @@ public Q_SLOTS:
void onKeyEvent(bool press, const QString &shortcut);
void onResetFinished();
- void onGrab(dcc::keyboard::ShortcutInfo *info);
-
-protected:
- void keyPressEvent(QKeyEvent *ke) override;
- void keyReleaseEvent(QKeyEvent *ke) override;
private:
QWidget *m_searchWidget;
@@ -115,7 +109,6 @@ private:
QStringList m_assistiveToolsIdList;
QStringList m_workspaceIdList;
- WaylandGrab *m_waylandGrab;
};
}
}
diff --git a/src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-client-protocol.h b/src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-client-protocol.h
deleted file mode 100644
index 1da9fdc..0000000
--- a/src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-client-protocol.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/* Generated by wayland-scanner 1.16.0 */
-
-#ifndef XWAYLAND_KEYBOARD_GRAB_UNSTABLE_V1_CLIENT_PROTOCOL_H
-#define XWAYLAND_KEYBOARD_GRAB_UNSTABLE_V1_CLIENT_PROTOCOL_H
-
-#include <stdint.h>
-#include <stddef.h>
-#include "wayland-client.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @page page_xwayland_keyboard_grab_unstable_v1 The xwayland_keyboard_grab_unstable_v1 protocol
- * Protocol for grabbing the keyboard from Xwayland
- *
- * @section page_desc_xwayland_keyboard_grab_unstable_v1 Description
- *
- * This protocol is application-specific to meet the needs of the X11
- * protocol through Xwayland. It provides a way for Xwayland to request
- * all keyboard events to be forwarded to a surface even when the
- * surface does not have keyboard focus.
- *
- * In the X11 protocol, a client may request an "active grab" on the
- * keyboard. On success, all key events are reported only to the
- * grabbing X11 client. For details, see XGrabKeyboard(3).
- *
- * The core Wayland protocol does not have a notion of an active
- * keyboard grab. When running in Xwayland, X11 applications may
- * acquire an active grab inside Xwayland but that cannot be translated
- * to the Wayland compositor who may set the input focus to some other
- * surface. In doing so, it breaks the X11 client assumption that all
- * key events are reported to the grabbing client.
- *
- * This protocol specifies a way for Xwayland to request all keyboard
- * be directed to the given surface. The protocol does not guarantee
- * that the compositor will honor this request and it does not
- * prescribe user interfaces on how to handle the respond. For example,
- * a compositor may inform the user that all key events are now
- * forwarded to the given client surface, or it may ask the user for
- * permission to do so.
- *
- * Compositors are required to restrict access to this application
- * specific protocol to Xwayland alone.
- *
- * Warning! The protocol described in this file is experimental and
- * backward incompatible changes may be made. Backward compatible
- * changes may be added together with the corresponding interface
- * version bump.
- * Backward incompatible changes are done by bumping the version
- * number in the protocol and interface names and resetting the
- * interface version. Once the protocol is to be declared stable,
- * the 'z' prefix and the version number in the protocol and
- * interface names are removed and the interface version number is
- * reset.
- *
- * @section page_ifaces_xwayland_keyboard_grab_unstable_v1 Interfaces
- * - @subpage page_iface_zwp_xwayland_keyboard_grab_manager_v1 - context object for keyboard grab manager
- * - @subpage page_iface_zwp_xwayland_keyboard_grab_v1 - interface for grabbing the keyboard
- * @section page_copyright_xwayland_keyboard_grab_unstable_v1 Copyright
- * <pre>
- *
- * Copyright © 2017 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- * </pre>
- */
-struct wl_seat;
-struct wl_surface;
-struct zwp_xwayland_keyboard_grab_manager_v1;
-struct zwp_xwayland_keyboard_grab_v1;
-
-/**
- * @page page_iface_zwp_xwayland_keyboard_grab_manager_v1 zwp_xwayland_keyboard_grab_manager_v1
- * @section page_iface_zwp_xwayland_keyboard_grab_manager_v1_desc Description
- *
- * A global interface used for grabbing the keyboard.
- * @section page_iface_zwp_xwayland_keyboard_grab_manager_v1_api API
- * See @ref iface_zwp_xwayland_keyboard_grab_manager_v1.
- */
-/**
- * @defgroup iface_zwp_xwayland_keyboard_grab_manager_v1 The zwp_xwayland_keyboard_grab_manager_v1 interface
- *
- * A global interface used for grabbing the keyboard.
- */
-extern const struct wl_interface zwp_xwayland_keyboard_grab_manager_v1_interface;
-/**
- * @page page_iface_zwp_xwayland_keyboard_grab_v1 zwp_xwayland_keyboard_grab_v1
- * @section page_iface_zwp_xwayland_keyboard_grab_v1_desc Description
- *
- * A global interface used for grabbing the keyboard.
- * @section page_iface_zwp_xwayland_keyboard_grab_v1_api API
- * See @ref iface_zwp_xwayland_keyboard_grab_v1.
- */
-/**
- * @defgroup iface_zwp_xwayland_keyboard_grab_v1 The zwp_xwayland_keyboard_grab_v1 interface
- *
- * A global interface used for grabbing the keyboard.
- */
-extern const struct wl_interface zwp_xwayland_keyboard_grab_v1_interface;
-
-#define ZWP_XWAYLAND_KEYBOARD_GRAB_MANAGER_V1_DESTROY 0
-#define ZWP_XWAYLAND_KEYBOARD_GRAB_MANAGER_V1_GRAB_KEYBOARD 1
-
-
-/**
- * @ingroup iface_zwp_xwayland_keyboard_grab_manager_v1
- */
-#define ZWP_XWAYLAND_KEYBOARD_GRAB_MANAGER_V1_DESTROY_SINCE_VERSION 1
-/**
- * @ingroup iface_zwp_xwayland_keyboard_grab_manager_v1
- */
-#define ZWP_XWAYLAND_KEYBOARD_GRAB_MANAGER_V1_GRAB_KEYBOARD_SINCE_VERSION 1
-
-/** @ingroup iface_zwp_xwayland_keyboard_grab_manager_v1 */
-static inline void
-zwp_xwayland_keyboard_grab_manager_v1_set_user_data(struct zwp_xwayland_keyboard_grab_manager_v1 *zwp_xwayland_keyboard_grab_manager_v1, void *user_data)
-{
- wl_proxy_set_user_data((struct wl_proxy *) zwp_xwayland_keyboard_grab_manager_v1, user_data);
-}
-
-/** @ingroup iface_zwp_xwayland_keyboard_grab_manager_v1 */
-static inline void *
-zwp_xwayland_keyboard_grab_manager_v1_get_user_data(struct zwp_xwayland_keyboard_grab_manager_v1 *zwp_xwayland_keyboard_grab_manager_v1)
-{
- return wl_proxy_get_user_data((struct wl_proxy *) zwp_xwayland_keyboard_grab_manager_v1);
-}
-
-static inline uint32_t
-zwp_xwayland_keyboard_grab_manager_v1_get_version(struct zwp_xwayland_keyboard_grab_manager_v1 *zwp_xwayland_keyboard_grab_manager_v1)
-{
- return wl_proxy_get_version((struct wl_proxy *) zwp_xwayland_keyboard_grab_manager_v1);
-}
-
-/**
- * @ingroup iface_zwp_xwayland_keyboard_grab_manager_v1
- *
- * Destroy the keyboard grab manager.
- */
-static inline void
-zwp_xwayland_keyboard_grab_manager_v1_destroy(struct zwp_xwayland_keyboard_grab_manager_v1 *zwp_xwayland_keyboard_grab_manager_v1)
-{
- wl_proxy_marshal((struct wl_proxy *) zwp_xwayland_keyboard_grab_manager_v1,
- ZWP_XWAYLAND_KEYBOARD_GRAB_MANAGER_V1_DESTROY);
-
- wl_proxy_destroy((struct wl_proxy *) zwp_xwayland_keyboard_grab_manager_v1);
-}
-
-/**
- * @ingroup iface_zwp_xwayland_keyboard_grab_manager_v1
- *
- * The grab_keyboard request asks for a grab of the keyboard, forcing
- * the keyboard focus for the given seat upon the given surface.
- *
- * The protocol provides no guarantee that the grab is ever satisfied,
- * and does not require the compositor to send an error if the grab
- * cannot ever be satisfied. It is thus possible to request a keyboard
- * grab that will never be effective.
- *
- * The protocol:
- *
- * * does not guarantee that the grab itself is applied for a surface,
- * the grab request may be silently ignored by the compositor,
- * * does not guarantee that any events are sent to this client even
- * if the grab is applied to a surface,
- * * does not guarantee that events sent to this client are exhaustive,
- * a compositor may filter some events for its own consumption,
- * * does not guarantee that events sent to this client are continuous,
- * a compositor may change and reroute keyboard events while the grab
- * is nominally active.
- */
-static inline struct zwp_xwayland_keyboard_grab_v1 *
-zwp_xwayland_keyboard_grab_manager_v1_grab_keyboard(struct zwp_xwayland_keyboard_grab_manager_v1 *zwp_xwayland_keyboard_grab_manager_v1, struct wl_surface *surface, struct wl_seat *seat)
-{
- struct wl_proxy *id;
-
- id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_xwayland_keyboard_grab_manager_v1,
- ZWP_XWAYLAND_KEYBOARD_GRAB_MANAGER_V1_GRAB_KEYBOARD, &zwp_xwayland_keyboard_grab_v1_interface, NULL, surface, seat);
-
- return (struct zwp_xwayland_keyboard_grab_v1 *) id;
-}
-
-#define ZWP_XWAYLAND_KEYBOARD_GRAB_V1_DESTROY 0
-
-
-/**
- * @ingroup iface_zwp_xwayland_keyboard_grab_v1
- */
-#define ZWP_XWAYLAND_KEYBOARD_GRAB_V1_DESTROY_SINCE_VERSION 1
-
-/** @ingroup iface_zwp_xwayland_keyboard_grab_v1 */
-static inline void
-zwp_xwayland_keyboard_grab_v1_set_user_data(struct zwp_xwayland_keyboard_grab_v1 *zwp_xwayland_keyboard_grab_v1, void *user_data)
-{
- wl_proxy_set_user_data((struct wl_proxy *) zwp_xwayland_keyboard_grab_v1, user_data);
-}
-
-/** @ingroup iface_zwp_xwayland_keyboard_grab_v1 */
-static inline void *
-zwp_xwayland_keyboard_grab_v1_get_user_data(struct zwp_xwayland_keyboard_grab_v1 *zwp_xwayland_keyboard_grab_v1)
-{
- return wl_proxy_get_user_data((struct wl_proxy *) zwp_xwayland_keyboard_grab_v1);
-}
-
-static inline uint32_t
-zwp_xwayland_keyboard_grab_v1_get_version(struct zwp_xwayland_keyboard_grab_v1 *zwp_xwayland_keyboard_grab_v1)
-{
- return wl_proxy_get_version((struct wl_proxy *) zwp_xwayland_keyboard_grab_v1);
-}
-
-/**
- * @ingroup iface_zwp_xwayland_keyboard_grab_v1
- *
- * Destroy the grabbed keyboard object. If applicable, the compositor
- * will ungrab the keyboard.
- */
-static inline void
-zwp_xwayland_keyboard_grab_v1_destroy(struct zwp_xwayland_keyboard_grab_v1 *zwp_xwayland_keyboard_grab_v1)
-{
- wl_proxy_marshal((struct wl_proxy *) zwp_xwayland_keyboard_grab_v1,
- ZWP_XWAYLAND_KEYBOARD_GRAB_V1_DESTROY);
-
- wl_proxy_destroy((struct wl_proxy *) zwp_xwayland_keyboard_grab_v1);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-protocol.c b/src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-protocol.c
deleted file mode 100644
index 1947d41..0000000
--- a/src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-protocol.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Generated by wayland-scanner 1.16.0 */
-
-/*
- * Copyright © 2017 Red Hat Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#include <stdlib.h>
-#include <stdint.h>
-#include "wayland-util.h"
-
-extern const struct wl_interface wl_seat_interface;
-extern const struct wl_interface wl_surface_interface;
-extern const struct wl_interface zwp_xwayland_keyboard_grab_v1_interface;
-
-static const struct wl_interface *types[] = {
- &zwp_xwayland_keyboard_grab_v1_interface,
- &wl_surface_interface,
- &wl_seat_interface,
-};
-
-static const struct wl_message zwp_xwayland_keyboard_grab_manager_v1_requests[] = {
- { "destroy", "", types + 0 },
- { "grab_keyboard", "noo", types + 0 },
-};
-
-WL_EXPORT const struct wl_interface zwp_xwayland_keyboard_grab_manager_v1_interface = {
- "zwp_xwayland_keyboard_grab_manager_v1", 1,
- 2, zwp_xwayland_keyboard_grab_manager_v1_requests,
- 0, NULL,
-};
-
-static const struct wl_message zwp_xwayland_keyboard_grab_v1_requests[] = {
- { "destroy", "", types + 0 },
-};
-
-WL_EXPORT const struct wl_interface zwp_xwayland_keyboard_grab_v1_interface = {
- "zwp_xwayland_keyboard_grab_v1", 1,
- 1, zwp_xwayland_keyboard_grab_v1_requests,
- 0, NULL,
-};
-
diff --git a/src/frame/window/modules/keyboard/waylandgrab.cpp b/src/frame/window/modules/keyboard/waylandgrab.cpp
deleted file mode 100644
index 5b2f6fb..0000000
--- a/src/frame/window/modules/keyboard/waylandgrab.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-// SPDX-FileCopyrightText: 2011 - 2022 UnionTech Software Technology Co., Ltd.
-//
-// SPDX-License-Identifier: LGPL-3.0-or-later
-
-#include "waylandgrab.h"
-
-#include <qpa/qplatformnativeinterface.h>
-#include <qpa/qplatformintegration.h>
-#include <private/qguiapplication_p.h>
-#include <QtWaylandClient/private/qwaylandwindow_p.h>
-#include <QtWaylandClient/private/qwayland-wayland.h>
-#include <QtWaylandClient/private/qwaylandsurface_p.h>
-#include <QtWaylandClient/private/qwaylandintegration_p.h>
-#include <QtWaylandClient/private/qwaylanddisplay_p.h>
-#include <QtWaylandClient/private/qwaylandinputdevice_p.h>
-
-#include <QWidget>
-
-using namespace dcc::keyboard;
-
-static struct zwp_xwayland_keyboard_grab_manager_v1* xkgm = nullptr;
-
-void MyRegistryListener(void *data,
- struct wl_registry *registry,
- uint32_t id,
- const QString &interface,
- uint32_t version)
-{
- Q_UNUSED(data);
- Q_UNUSED(version);
- if(interface == QLatin1String("zwp_xwayland_keyboard_grab_manager_v1")){
- xkgm = static_cast<struct zwp_xwayland_keyboard_grab_manager_v1 *>(wl_registry_bind(
- registry,id,&zwp_xwayland_keyboard_grab_manager_v1_interface,version));
- }
-}
-
-WaylandGrab::WaylandGrab(QObject *parent)
- : QObject(parent)
- , m_zxgm(nullptr)
- , m_info(nullptr)
- , m_record(false)
- , m_lastKey("")
- , m_keyValue("")
-{
- dynamic_cast<QWidget*>(parent)->createWinId();
- QtWaylandClient::QWaylandWindow* waylandwindow = static_cast<QtWaylandClient::QWaylandWindow* >(dynamic_cast<QWidget*>(parent)->windowHandle()->handle());
- QtWaylandClient::QWaylandIntegration * waylandIntergration = static_cast<QtWaylandClient::QWaylandIntegration* >(
- QGuiApplicationPrivate::platformIntegration());
- m_wlSurface = waylandwindow->wlSurface();
- m_wlSeat = waylandIntergration->display()->currentInputDevice()->wl_seat();
- waylandIntergration->display()->addRegistryListener(MyRegistryListener, nullptr);
-}
-
-WaylandGrab::~WaylandGrab()
-{
- if (m_zxgm) {
- zwp_xwayland_keyboard_grab_v1_destroy(m_zxgm);
- m_zxgm = nullptr;
- }
- if (xkgm) {
- zwp_xwayland_keyboard_grab_manager_v1_destroy(xkgm);
- xkgm = nullptr;
- }
-}
-
-void WaylandGrab::onGrab(ShortcutInfo *info)
-{
- m_info = info;
- m_zxgm = zwp_xwayland_keyboard_grab_manager_v1_grab_keyboard(xkgm, m_wlSurface, m_wlSeat);
-}
-
-void WaylandGrab::onUnGrab()
-{
- if (m_zxgm) {
- zwp_xwayland_keyboard_grab_v1_destroy(m_zxgm);
- m_zxgm = nullptr;
- }
-
-}
\ No newline at end of file
diff --git a/src/frame/window/modules/keyboard/waylandgrab.h b/src/frame/window/modules/keyboard/waylandgrab.h
deleted file mode 100644
index 30876fb..0000000
--- a/src/frame/window/modules/keyboard/waylandgrab.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// SPDX-FileCopyrightText: 2011 - 2022 UnionTech Software Technology Co., Ltd.
-//
-// SPDX-License-Identifier: LGPL-3.0-or-later
-
-#ifndef WAYLANDGRAB_H
-#define WAYLANDGRAB_H
-
-#include "wayland-xwayland-keyboard-grab-v1-client-protocol.h"
-#include "modules/keyboard/shortcutmodel.h"
-
-class WaylandGrab : public QObject
-{
- Q_OBJECT
-public:
- explicit WaylandGrab(QObject *parent = nullptr);
- ~WaylandGrab();
-
-private:
- QString m_lastKey, m_keyValue;
- bool m_record;
- dcc::keyboard::ShortcutInfo *m_info;
-
- struct ::wl_seat* m_wlSeat;
- struct ::wl_surface* m_wlSurface;
- struct zwp_xwayland_keyboard_grab_v1 *m_zxgm;
-
-public:
- QString getLastKey() { return m_lastKey; }
- QString getKeyValue() { return m_keyValue; }
- bool getRecordState() { return m_record; }
- void setLastKey(QString key) { m_lastKey = key; }
- void setKeyValue(QString key) { m_keyValue = key; }
- void setRecordState(bool state) { m_record = state; }
- dcc::keyboard::ShortcutInfo *getInfo() { return m_info; }
- struct zwp_xwayland_keyboard_grab_v1 *getZxgm() { return m_zxgm; }
-
-public Q_SLOTS:
- void onGrab(dcc::keyboard::ShortcutInfo *info);
- void onUnGrab();
-};
-
-
-
-
-#endif // WAYLANDGRAB_Hs
\ No newline at end of file
diff --git a/src/frame/window/utils.h b/src/frame/window/utils.h
index 5cc5309..4c49439 100644
--- a/src/frame/window/utils.h
+++ b/src/frame/window/utils.h
@@ -62,18 +62,6 @@ const bool DisableDeveloperMode = {
false
#endif
};
-const QMap<uint32_t, QString> WaylandkeyMap = { {Qt::Key_A, "A"}, {Qt::Key_B, "B"}, {Qt::Key_C, "C"}, {Qt::Key_D, "D"}, {Qt::Key_E, "E"},
- {Qt::Key_F, "F"}, {Qt::Key_G, "G"}, {Qt::Key_H, "H"}, {Qt::Key_I, "I"}, {Qt::Key_J, "J"}, {Qt::Key_K, "K"}, {Qt::Key_L, "L"}, {Qt::Key_M, "M"},
- {Qt::Key_N, "N"}, {Qt::Key_O, "O"}, {Qt::Key_P, "P"}, {Qt::Key_Q, "Q"}, {Qt::Key_R, "R"}, {Qt::Key_S, "S"}, {Qt::Key_T, "T"}, {Qt::Key_U, "U"},
- {Qt::Key_V, "V"}, {Qt::Key_W, "W"}, {Qt::Key_X, "X"}, {Qt::Key_Y, "Y"}, {Qt::Key_Z, "Z"}, {Qt::Key_Escape, "Escape"}, {Qt::Key_Tab, "Tab"},
- {Qt::Key_Backtab, "Tab"}, {Qt::Key_Backspace, "Backspace"}, {Qt::Key_Return, "Return"}, {Qt::Key_Enter, "Enter"}, {Qt::Key_Insert, "Insert"},
- {Qt::Key_Delete, "Delete"}, {Qt::Key_Pause, "Pause"}, {Qt::Key_Print, "Print"}, {Qt::Key_SysReq, "SysReq"}, {Qt::Key_Clear, "Clear"}, {Qt::Key_Home, "Home"},
- {Qt::Key_End, "End"}, {Qt::Key_Left, "←"}, {Qt::Key_Up, "↑"}, {Qt::Key_Right, "→"}, {Qt::Key_Down, "↓"}, {Qt::Key_PageUp, "PageUp"},
- {Qt::Key_PageDown, "PageDown"}, {Qt::Key_Shift, "Shift_L"}, {Qt::Key_Control, "Control_L"}, {Qt::Key_Super_L, "Super_L"}, {Qt::Key_Super_R, "Super_R"}, {Qt::Key_Alt, "Alt_L"},
- {Qt::Key_CapsLock, "CapLock"}, {Qt::Key_NumLock, "NumLock"}, {Qt::Key_ScrollLock, "ScrollLock"}, {Qt::Key_F1, "F1"}, {Qt::Key_F2, "F2"}, {Qt::Key_F3, "F3"},
- {Qt::Key_F4, "F4"}, {Qt::Key_F5, "F5"}, {Qt::Key_F6, "F6"}, {Qt::Key_F7, "F7"}, {Qt::Key_F8, "F8"}, {Qt::Key_F9, "F9"},
- {Qt::Key_F10, "F10"}, {Qt::Key_F11, "F11"}, {Qt::Key_F12, "F12"}, {Qt::Key_Space, "Space"}, {Qt::Key_AsciiTilde, "~"}
-};
struct ListSubItem {
ListSubItem();
diff --git a/tests/dde-control-center/CMakeLists.txt b/tests/dde-control-center/CMakeLists.txt
index 6ad2b77..3e8c998 100644
--- a/tests/dde-control-center/CMakeLists.txt
+++ b/tests/dde-control-center/CMakeLists.txt
@@ -143,9 +143,6 @@ file(GLOB_RECURSE KEYBOARD_Tasks_SRCS
../../src/frame/window/modules/keyboard/systemlanguagewidget.cpp
../../src/frame/window/modules/keyboard/systemlanguagesettingwidget.cpp
../../src/frame/window/modules/keyboard/shortcutsettingwidget.cpp
- ../../src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-client-protocol.h
- ../../src/frame/window/modules/keyboard/wayland-xwayland-keyboard-grab-v1-protocol.c
- ../../src/frame/window/modules/keyboard/waylandgrab.cpp
../../src/frame/modules/keyboard/keyboardmodel.cpp
../../src/frame/modules/keyboard/indexmodel.cpp
../../src/frame/modules/keyboard/shortcutmodel.cpp
@@ -163,10 +160,9 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage -lgcov")
# 查找依赖库
find_package(PkgConfig REQUIRED)
-find_package(Qt5 COMPONENTS Widgets Test DBus WaylandClient REQUIRED Concurrent Svg)
+find_package(Qt5 COMPONENTS Widgets Test DBus REQUIRED Concurrent Svg)
find_package(DtkWidget REQUIRED)
find_package(GTest REQUIRED)
-find_package(KF5Wayland QUIET)
pkg_check_modules(QGSettings REQUIRED gsettings-qt)
pkg_check_modules(DFrameworkDBus REQUIRED dframeworkdbus)
@@ -318,8 +314,6 @@ target_link_libraries(${SYSTEMINFO_NAME} PRIVATE
-lpthread
)
-find_package(PkgConfig REQUIRED)
-pkg_check_modules(WaylandClient REQUIRED wayland-client)
# 键盘模块链接库
target_link_libraries(${KEYBOARD_NAME} PRIVATE
@@ -334,9 +328,6 @@ target_link_libraries(${KEYBOARD_NAME} PRIVATE
${DtkWidget_LIBRARIES}
${GTEST_LIBRARIES}
-lpthread
- KF5::WaylandClient
- Qt5::WaylandClient
- ${WaylandClient_LIBRARIES}
)
# 系统信息模块引用头文件
@@ -355,7 +346,6 @@ target_include_directories(${KEYBOARD_NAME} PUBLIC
${QGSettings_INCLUDE_DIRS}
${Qt5Gui_PRIVATE_INCLUDE_DIRS}
${DFrameworkDBus_INCLUDE_DIRS}
- ${Qt5WaylandClient_PRIVATE_INCLUDE_DIRS}
)
add_custom_target(check
--
2.20.1