Die Windows-Bildschirmtastatur bekommt es mit wenn man auf einer echten Hardware-Tastatur Shift oder Capslock drückt. Das TTouchKeyboard in der
VCL leider nicht. So kann es passieren dass man auf einer echten (oder virtuellen) Tastatur Capslock aktiviert und sich fortan wundert warum man in einer
VCL-Anwendung auf dem TTouchkeyboard die Taste "4" drückt und ein "$" rauskommt.
Gibt es eine einfache Lösung hierfür? Das
TTouchKeyboard
bekommt z.B. den Wechsel des Tastaturlayouts (andere Sprache) völlig souverän mit und ändert sich, richtig cool. Ich kann diesen Neuaufbau forcieren indem ich der Tastatur eine CM_INPUTLANGCHANGE-Nachricht sende:
TouchKeyboard1.Perform(CM_INPUTLANGCHANGE, WPARAM(0), LPARAM(0));
Meine Frage wäre: Wann?
- Mich mittels globalem Keyboard-Hook einklemmen und das jedes mal tun wenn jemand Shift oder Capslock drückt
- In irgendeinem KeyDown-Event auf jedem Formular/Frame das ein TTouchKeyboard hat
- Eine andere, elegante Möglichkeit