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 = {}