А если в едит с русским названием понадобится написать латинский символ?
Вообще по-хорошему, при фокусе на едите определенном, нужно менять системную раскладку у юзера, а он, если захочет, поставит обратно ту, что была.
Например:
Код:
procedure TForm1.Edit1Enter(Sender: TObject);
var
Layout: array [0.. KL_NAMELENGTH] of char;
begin
GetKeyboardLayoutName(Layout);
if Layout = '00000409' then // или Layout = '00000419', смотря какой язык нужен
ActivateKeyboardLayout(HKL_NEXT,0)
end;