bueno, creo que mas bien tendrias que tener el teclado como un formulario solo y aparte, el cual puedes "embeber" en cada formulario, asi podrias crear tantos teclados como quisieras en la posicion que quieras, y para mandar las teclas con solo:
Código Delphi
[-]
if formteclado.parent.activecontrol is tedit then
(formteclado.parent.ActiveControl as TEdit).Text := (formteclado.parent.ActiveControl as TEdit).Text + (Sender as TSpeedButton).caption;
Lo hice al tanteo pero la idea es esa... el como poner un form en otro form puedes buscar aqui en el foro es un tema ya tratado