Como usar as mensagens de foco da janela para um formulário de teclado na tela Delphi

Eu preciso de um teclado numérico de tela embutido no meu Aplicativo. Por várias razões, não posso usar oTMS Software ou outras ofertas de componentes comerciais. Estou muito feliz com uma solução baseada em botão mostrada abaixo, mas ainda não consigo ver como resolver o problema da chave de foco, onde clicar no botão ativa o formulário do teclado e perco o controle focado no qual queria os personagens. Minha solução funciona se eu mantiver os botões do teclado no formulário de destino, mas gostaria de uma solução independente de formulário. Existe uma maneira de desativar a ativação do botão ou saber de onde veio o foco para que eu possa usar algo como Scree.ActiveControl: = ?? colocar de volta?

questionAnswers(3)

yourAnswerToTheQuestion