47 lines
1.8 KiB
Diff
47 lines
1.8 KiB
Diff
From b7495f653007f54a306eecd8b033c857359cee4a Mon Sep 17 00:00:00 2001
|
|
From: meizhigang <meizhigang@kylinsec.com.cn>
|
|
Date: Fri, 5 Jan 2024 09:25:02 +0800
|
|
Subject: [PATCH] fix(media-keys):Fix use shortcut key with shift
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
-兼容快捷键按键shift
|
|
|
|
Related #25039
|
|
---
|
|
plugins/keybinding/shortcut-helper.cpp | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/plugins/keybinding/shortcut-helper.cpp b/plugins/keybinding/shortcut-helper.cpp
|
|
index c459b53..a9dd62c 100644
|
|
--- a/plugins/keybinding/shortcut-helper.cpp
|
|
+++ b/plugins/keybinding/shortcut-helper.cpp
|
|
@@ -134,6 +134,7 @@ KeyState ShortCutHelper::get_keystate(XEvent *event)
|
|
|
|
gdk_keyval_convert_case(keyval, &lower, &upper);
|
|
key_state.key_symbol = lower;
|
|
+ consumed = (GdkModifierType)(consumed & (~GDK_SHIFT_MASK));
|
|
KLOG_DEBUG_KEYBINDING("The keystate is %0x and consumed is %0x.", event->xkey.state, consumed);
|
|
key_state.mods = event->xkey.state & ~consumed & GDK_MODIFIER_MASK;
|
|
return key_state;
|
|
@@ -213,7 +214,7 @@ bool ShortCutHelper::grab_keystate_change(Glib::RefPtr<Gdk::Window> root_window,
|
|
const KeyState &keystate,
|
|
bool is_grab)
|
|
{
|
|
- KLOG_PROFILE("symbol: %0x mods: %0x", keystate.key_symbol, keystate.mods);
|
|
+ KLOG_DEBUG_KEYBINDING("Grab key symbol: %0x mods: %0x", keystate.key_symbol, keystate.mods);
|
|
|
|
RETURN_VAL_IF_TRUE(keystate == NULL_KEYSTATE, true);
|
|
RETURN_VAL_IF_FALSE(keystate != INVALID_KEYSTATE, false);
|
|
@@ -287,4 +288,4 @@ bool ShortCutHelper::key_uses_keycode(const KeyState &key_state, uint32_t keycod
|
|
return false;
|
|
}
|
|
|
|
-} // namespace Kiran
|
|
\ No newline at end of file
|
|
+} // namespace Kiran
|
|
--
|
|
2.27.0
|
|
|