keyboard - tactil - teclado virtual para pc
Teclado virtual en la 5ª edición de Symbian S60: ¿Qué API usar? (3)
¿Cómo (usando API) se abre el teclado virtual en la 5ª edición de Symbian S60? La documentación parece carecer de información sobre esto.
Tienes razón, esto obviamente debería ser una API publicada y debería estar resaltada en la documentación. No tal suerte.
Si está utilizando uno de los controles nativos de la plataforma, el teclado virtual aparecerá automáticamente cuando el usuario acceda a un control de edición de texto.
Si está haciendo un control personalizado, debe ocuparse de su selección agregando su propia versión del teclado virtual: cree un nuevo control personalizado similar al de la ventana de edición de texto, con control de pantalla y con los botones correctos. Reutilízalo en todas tus aplicaciones. Un día, Nokia se dará cuenta de que cometió un error obvio y pondrá la API a disposición del público.
Si está utilizando el acceso directo a la pantalla, bueno, no esperaría exactamente que el teclado virtual de aspecto s60 salga de ninguna parte. De nuevo, dibuje una imagen agradable en la pantalla para que el usuario sepa dónde están las teclas virtuales y reaccione a los eventos del puntero. Esto será menos reutilizable a menos que genere una buena cantidad de personalización (fondo, bordes de los botones ...).
EDITAR: Nokia puede confiar en Qt para solucionar este problema. Esperaría que el control sea parte de la versión 4.7 actual de Qt.
Cambiando el enfoque en un QLineEdit dentro del área de desplazamiento cinético personalizado, he tenido un problema similar (cómo abrir el teclado virtual manualmente). Entonces, lo encontré, esto obviamente funciona en Qt 4.6.3 en un teléfono C7 Symbian ^ 3:
// lineEdit is an instance of QLineEdit
QApplication::postEvent(lineEdit, new QEvent(QEvent::RequestSoftwareInputPanel));
Antes de eso, también tuve que publicar un evento QEvent :: FocusIn en ese mismo lineedit, de lo contrario, QLineEdit no actualizó el contenido del teclado virtual.
Espero que esto sea útil. Perdí horas.
Gracias tihi, consejo muy útil! También está el evento de "cerrar el teclado virtual" que se puede activar:
QApplication::postEvent(lineEdit, new QEvent(QEvent::CloseSoftwareInputPanel));