How to determine the name of the active keyboard layout?

I can call GetKeyboardLayout to get an "input locale identifier" that identifies the active layout in Windows. How can I convert this to a human-readable name like "English (US)"?

GetKeyboardLayoutName is misleading - it simply returns a string containing the hexadecimal version of the identifier obtained using GetKeyboardLayout .

+4
source share
1 answer

Here is a list of keyboard layout names with their key names.

Edit: I looked through the registry and I found the keyboard layout names in this place:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Keyboard Layouts

+2
source

All Articles