Zależy, czy to w trybie konsoli, czy w okienku, np. w komponencie Memo? Jeśli chodzi o komponenty "do wprowadzania tekstu", to można zablokować w nich klawiaturę zmieniając właściwość ReadOnly na True. np Edit1.ReadOnly := True;
A jeśli to nie chodzi o komponent, to za bardzo nie wiem.
Spotkałem się raz z czymś takim, ale u mnie nie działało...
uses ShellApi;
ShellExecute(Handle, 'open' , 'rundll32', 'keyboard,disable', nil, SW_SHOWNORMAL);
Pojawiał się błąd: "wystąpił błąd podczas ładowania keyboard", "nie można odnaleźć modułu" - czy coś takiego...