Habilitar teclado mediante codigo - Forum

Forum Navigation
You need to log in to create posts and topics.

Habilitar teclado mediante codigo

estoy teniendo un problema en una aplicacion corriendo en Ios, le conecto un lector de barras bluetooth para escanear articulos, el problema es que al querer modificar un valor de un campo numerico o de texto del articulo encontrado como tengo el lector conectado al cel no aparece el teclado normal,

si lo desconecto y hago foco en el campo nuevamente si me aparece nuevamente el teclado

Existe alguna manera o codigo que al hacer foco se haga un llamado al teclado del telefono aunque este conectado el lector de barras?

Sí, pero con una limitación importante: en iOS, cuando el lector Bluetooth se conecta como teclado físico/HID, el sistema normalmente oculta el teclado virtual. Desde una app web/PWA hecha con VisualNEO Web, poner foco en el campo sí se puede, pero eso no obliga a iOS a mostrar el teclado en pantalla. VisualNEO Web tiene la acción FocusObject para dar foco a un campo, pero eso solo activa el input; no salta por encima del comportamiento del sistema.

En otras palabras: no hay un comando fiable en VisualNEO Web ni en JavaScript del navegador para “forzar” el teclado normal del iPhone mientras iOS cree que hay un teclado físico conectado. Ese comportamiento lo decide iOS/WebKit. De hecho, Apple documenta el uso de teclados externos en iPhone/iPad, y WebKit distingue explícitamente el caso de foco programático con hardware keyboard conectado.

Lo que sí puedes hacer es esto:

FocusObject "TextInputArticulo"

o para un numérico:

FocusObject "NumericInputCantidad"

Eso sirve para dejar el cursor en el campo correcto, pero si el escáner Bluetooth está emparejado como teclado, en iOS normalmente seguirás sin ver el teclado virtual.

La salida práctica suele ser una de estas 3:

  1. Teclado propio dentro de la app
    Es la solución más segura. Creas un panel con botones 0-9, borrar, aceptar, etc., y al tocar esos botones actualizas la variable del campo. Para cantidades funciona muy bien y evita depender del teclado de iOS. Los objetos Numeric Input y Text Input en VisualNEO Web pueden vincularse a variables, así que puedes modificar su contenido con SetVar.

  1. Configurar el lector para que no trabaje como teclado HID
    Muchos lectores permiten modos alternativos: SDK, app del fabricante, BLE serial, “clipboard”, etc. Si el lector deja de presentarse como teclado físico, iOS vuelve a mostrar el teclado normal. Esto ya depende del modelo exacto del escáner.
  2. Usar una pantalla/modal de edición manual
    Después de escanear, puedes abrir un diálogo con tus propios botones para editar cantidad, lote, observaciones, etc. VisualNEO Web también soporta páginas de diálogo y foco sobre objetos, así que encaja bien con ese flujo.

En iPad hay algunos ajustes de accesibilidad relacionados con teclado en pantalla y dispositivos apuntadores, pero no es una solución general para una app web en iPhone con un escáner HID conectado.

Mi recomendación para tu caso es: no intentar forzar el teclado de iOS, sino implementar un teclado numérico propio para editar cantidades y, si también necesitas texto libre, un pequeño teclado alfanumérico en un diálogo. Es la opción más estable en iPhone con lectores Bluetooth.