GetKeyboardLanguage
#if PLATFORM_WINDOWS
//#if PLATFORM_WINRT
//#endif
//#if PLATFORM_WINRT_ARM
//#endif
#include "Runtime/Core/Public/Windows/AllowWindowsPlatformTypes.h"
#endif
#if PLATFORM_LINUX
#include "XKeyboard.h"
#endif
#if PLATFORM_MAC
#include <Carbon/Carbon.h>
#endif
#if PLATFORM_PS4
#endif
#if PLATFORM_XBOXONE
#endif
#if PLATFORM_SWITCH
#endif
#if PLATFORM_ANDROID
#endif
#if PLATFORM_IOS
#endif
#if PLATFORM_TVOS
#endif
#if PLATFORM_DESKTOP
#endif
#if PLATFORM_LUMIN
#endif
#if PLATFORM_APPLE
#endif
FString UILbr::GetKeyboardLanguage(){
FString L="";
#if PLATFORM_WINDOWS
HKL kstate = GetKeyboardLayout(0);
TCHAR szCodePage[10];
if(GetLocaleInfo(LOWORD(kstate), LOCALE_SISO639LANGNAME, szCodePage, sizeof(szCodePage))){L=szCodePage;}
#endif
#if PLATFORM_LINUX
//L=FString(xkb.currentGroupName()); //return somethings like "USA"
L=FString(xkb.currentGroupSymbol()); //return somethings like "us"
#endif
#if PLATFORM_MAC
char layout[128];
memset(layout, '\0', sizeof(layout));
TISInputSourceRef source = TISCopyCurrentKeyboardInputSource();
// get input source id - kTISPropertyInputSourceID
// get layout name - kTISPropertyLocalizedName
CFStringRef layoutID = TISGetInputSourceProperty(source, kTISPropertyInputSourceID);
CFStringGetCString(layoutID, layout, sizeof(layout), kCFStringEncodingUTF8);
L=FString(layout);
#endif
#if PLATFORM_PS4
#endif
#if PLATFORM_XBOXONE
#endif
#if PLATFORM_SWITCH
#endif
#if PLATFORM_ANDROID
#endif
#if PLATFORM_IOS
#endif
#if PLATFORM_TVOS
#endif
#if PLATFORM_DESKTOP
#endif
#if PLATFORM_LUMIN
#endif
#if PLATFORM_APPLE
#endif
return L;
}
GetKeyboardText
Add please!