From e63343e88a596e6a1b890933182b1f23bf690a5a Mon Sep 17 00:00:00 2001 From: Krzysztof Chrusciel Date: Sun, 30 Mar 2025 22:50:23 +0200 Subject: [PATCH] Lua: Add getNativeShortcut function for platform-specific key representations Change-Id: I190b00c824234ac9d0a2ceb28e1d4f402f0a27bb Reviewed-by: Marcus Tillmanns --- src/plugins/lua/bindings/utils.cpp | 4 ++++ src/plugins/lua/meta/utils.lua | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/plugins/lua/bindings/utils.cpp b/src/plugins/lua/bindings/utils.cpp index e8f8ef85105..3f5cc747bf1 100644 --- a/src/plugins/lua/bindings/utils.cpp +++ b/src/plugins/lua/bindings/utils.cpp @@ -93,6 +93,10 @@ void setupUtilsModule() utils.set_function("createUuid", []() { return QUuid::createUuid().toString(); }); + utils.set_function("getNativeShortcut", [](QString shortcut) { + return QKeySequence::fromString(shortcut).toString(QKeySequence::NativeText); + }); + sol::function wrap = async["wrap"].get(); utils["waitms"] = wrap(utils["waitms_cb"]); diff --git a/src/plugins/lua/meta/utils.lua b/src/plugins/lua/meta/utils.lua index d845b7d6db8..226aebd3b41 100644 --- a/src/plugins/lua/meta/utils.lua +++ b/src/plugins/lua/meta/utils.lua @@ -18,6 +18,11 @@ function utils.waitms_cb(ms, callback) end ---@return QString Arbitrary UUID string. function utils.createUuid() end +---Converts a given shortcut string into its native representation for the current platform. +---@param shortcut string The shortcut string (e.g., "Ctrl+Shift+A"). +---@return QString The native representation of the shortcut. +function utils.getNativeShortcut(shortcut) end + ---@class Id utils.Id = {}