I've already build a virtual keyboard by myself but it's not really perfect. I can't get the window always on top like a system or modal dialog. It should never happen that the keyboard goes to the background when somebody clicks beside/behind the keyboard.