I can call GetKeyboardLayout
to retrieve an "input locale identifier", which identifies the active layout in Windows. How can I convert this to a human-readable name, such as "English (United States)"?
GetKeyboardLayoutName
is misleading - it just returns a string containing a hex version of the identifier retrieved by GetKeyboardLayout
.