From 9109570d329d3fa60cc8e7b80da91acdbebd429b Mon Sep 17 00:00:00 2001 From: Flowseal Date: Sat, 10 Oct 2026 20:36:30 +0300 Subject: [PATCH] fix commands on different keyboard layouts --- ui/ctk_theme.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ui/ctk_theme.py b/ui/ctk_theme.py index 41bb786..610a472 100644 --- a/ui/ctk_theme.py +++ b/ui/ctk_theme.py @@ -75,6 +75,18 @@ def create_ctk_toplevel( after_create: Optional[Callable[[Any], None]] = None, ) -> Any: root = ctk.CTkToplevel() + + if sys.platform == "win32": + def handle_ctrl_shortcut(event: Any) -> Optional[str]: + shortcuts = {65: ("a", "<>"), 67: ("c", "<>"), 86: ("v", "<>")} + shortcut = shortcuts.get(event.keycode) + if shortcut and event.keysym.lower() != shortcut[0] and not event.state & 0x20000: + event.widget.event_generate(shortcut[1]) + return "break" + return None + + root.bind("", handle_ctrl_shortcut, add="+") + root.title(title) root.resizable(False, False) center_ctk_geometry(root, width, height)