Hello @Anumey Sharma ,
Thanks for your question.
Handling detail shortcuts:
I recommend designing your shortcuts around Virtual Key + modifier combinations, not scan codes or Unicode characters. Windows keyboard layouts are built to map physical keys to virtual keys, then to characters — so defining shortcuts as VK + modifier and letting the active layout handle how those are produced is the correct approach. For non-Latin locales, follow language-specific conventions rather than forcing Latin equivalents. For IME-based languages like Japanese where no Latin equivalent exists, Microsoft recommends keeping the original Latin shortcuts and relying on user familiarity. Use MapVirtualKeyEx and GetKeyboardLayout when you need explicit layout awareness at runtime.
Saving custom hotkeys:
I suggest persisting the Virtual Key + modifier as your primary representation, not Unicode characters. Characters are the result of layout + state and are not stable identifiers across layouts. If a user switches input language between sessions, a stored character may become unresolvable. Store scan codes only when the explicit intent is physical-position binding regardless of layout, such as game controls. Do not use Unicode characters as the primary key for shortcuts under any circumstance.
Recommended APIs:
I recommend using RegisterHotKey for global scope and KeyboardAccelerator for in-app scope. Drop Accelerator Tables entirely for new WinUI 3 work.
I hope this addresses your question. If this response was helpful, please consider following the guidance to provide feedback.