Функции win api для программной смены раскладки клавиатуры.
GetKeyboardLayoutNameA - получить название текущей раскладки (возвращает 00000419 - кириллица, 00000409 - латиница).
ActivateKeyboardLayout - установить раскладку (параметры 1, 0)
Пример установки в латиницу, поправить на синтаксис используемого языка программирования.
Код:
myProc procedure
NewKL UNSIGNED
CurKL CSTRING(20)
Err UNSIGNED
CODE
Err = GetKeyboardLayoutNameA(CurKL)
IF CurKL <> '00000409'
NewKL = ActivateKeyBoardLayout(1,0)
END