From 8ad6a12c93fbbf895eca8ebdd2edc76c8dea25ae Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Thu, 1 Jun 2023 04:10:49 +0300 Subject: [PATCH] kdeplasma-addons: do not send F1-12 keys from paste applet specials keys outside the Qt::Key_Space-Qt::Key_ydiaeresis range, Katie uses values that equal those used by X11 for keys aswell (i.e. the map is redundant) Signed-off-by: Ivailo Monev --- kdeplasma-addons/applets/paste/list.cpp | 2 +- kdeplasma-addons/applets/paste/paste.cpp | 1 - kdeplasma-addons/applets/paste/sendkeys.cpp | 71 +-------------------- kdeplasma-addons/applets/paste/sendkeys.h | 21 +----- 4 files changed, 7 insertions(+), 88 deletions(-) diff --git a/kdeplasma-addons/applets/paste/list.cpp b/kdeplasma-addons/applets/paste/list.cpp index d4ea7206..6ccc1395 100644 --- a/kdeplasma-addons/applets/paste/list.cpp +++ b/kdeplasma-addons/applets/paste/list.cpp @@ -128,7 +128,7 @@ void ListForm::clicked(const QModelIndex &index) void ListForm::paste() { - SendKeys::self() << m_pasteKey; + SendKeys::send(m_pasteKey); } void ListForm::themeChanged() diff --git a/kdeplasma-addons/applets/paste/paste.cpp b/kdeplasma-addons/applets/paste/paste.cpp index 8edc951c..976e18a7 100644 --- a/kdeplasma-addons/applets/paste/paste.cpp +++ b/kdeplasma-addons/applets/paste/paste.cpp @@ -16,7 +16,6 @@ */ #include "paste.h" -#include "sendkeys.h" #include "list.h" #include "snippetconfig.h" #include "autopasteconfig.h" diff --git a/kdeplasma-addons/applets/paste/sendkeys.cpp b/kdeplasma-addons/applets/paste/sendkeys.cpp index dc909df0..e8533d14 100644 --- a/kdeplasma-addons/applets/paste/sendkeys.cpp +++ b/kdeplasma-addons/applets/paste/sendkeys.cpp @@ -24,73 +24,10 @@ #include #include -class SendKeysPrivate { -public: - SendKeysPrivate() - { - keys[Qt::Key_F1] = XK_F1; - keys[Qt::Key_F2] = XK_F2; - keys[Qt::Key_F3] = XK_F3; - keys[Qt::Key_F4] = XK_F4; - keys[Qt::Key_F5] = XK_F5; - keys[Qt::Key_F6] = XK_F6; - keys[Qt::Key_F7] = XK_F7; - keys[Qt::Key_F8] = XK_F8; - keys[Qt::Key_F9] = XK_F9; - keys[Qt::Key_F10] = XK_F10; - keys[Qt::Key_F11] = XK_F11; - keys[Qt::Key_F12] = XK_F12; - // Add more if needed - }; - - QMap keys; -}; - -SendKeys::SendKeys() - : d(new SendKeysPrivate()) -{ -} - -SendKeys::~SendKeys() -{ - delete d; -} - -SendKeys &SendKeys::self() -{ - K_GLOBAL_STATIC(SendKeys, s_instance) - return *s_instance; -} - -SendKeys &SendKeys::operator<<(const QString &string) -{ - send(string); - return *this; -} - -SendKeys &SendKeys::operator<<(uint k) -{ - send(k); - return *this; -} - -SendKeys &SendKeys::operator<<(const QKeySequence &ks) -{ - send(ks); - return *this; -} - -void SendKeys::send(const QString &string) -{ - foreach(uint key, string.toUcs4()) { - send(key); - } -} - void SendKeys::send(const QKeySequence &ks) { - for (uint i = 0; i < ks.count(); ++i) { - send(ks[i]); + for (uint i = 0; i < ks.count(); ++i) { + SendKeys::send(ks[i]); } } @@ -102,9 +39,7 @@ void SendKeys::send(uint k) Window currentFocus; int focusState; - if (d->keys.contains(keycode)) { - keycode = d->keys[keycode]; - } else if (keycode < Qt::Key_Space || keycode > Qt::Key_ydiaeresis) { + if (keycode < Qt::Key_Space || keycode > Qt::Key_ydiaeresis) { return; } keycode = XKeysymToKeycode(dsp, keycode); diff --git a/kdeplasma-addons/applets/paste/sendkeys.h b/kdeplasma-addons/applets/paste/sendkeys.h index b2f5c19f..1aa3eae1 100644 --- a/kdeplasma-addons/applets/paste/sendkeys.h +++ b/kdeplasma-addons/applets/paste/sendkeys.h @@ -18,28 +18,13 @@ #ifndef SENDKEYS_HEADER #define SENDKEYS_HEADER -#include - -#include #include class SendKeys { - public: - static SendKeys &self(); - - void send(const QString &string); - void send(uint k); - void send(const QKeySequence &ks); - SendKeys &operator<<(const QString &string); - SendKeys &operator<<(uint k); - SendKeys &operator<<(const QKeySequence &ks); - - private: - SendKeys(); - ~SendKeys(); - - class SendKeysPrivate *const d; +public: + static void send(const QKeySequence &ks); + static void send(uint k); }; #endif