! Crear un objeto de teclado de hardware independiente (key.connect_keyboard)
Esta función solo está disponible a partir de las versiones posteriores a 20260805
Declaración
objeto_teclado_hardware, mensaje_error = key.connect_keyboard([atributos_configuración])
Parámetros
- Atributos de configuración Tipo tabla, parámetro opcional; sirve para establecer los siguientes atributos habituales del dispositivo. Los valores del bloque de código son los valores predeterminados cuando se omiten:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}
También se pueden establecer VersionNumber, SerialNumber y LocationID. No se garantiza que los demás atributos surtan efecto.
Valores devueltos
- Objeto de teclado de hardware
Objeto de teclado de hardware; se devuelve cuando la creación tiene éxito y se devuelve
nilcuando falla. - Mensaje de error Tipo texto; devuelve el mensaje de error cuando la creación falla.
Cuando la creación falla, los dos valores devueltos juntos son nil, error.
Descripción
Crea un objeto de teclado de hardware independiente; el estado de las teclas y el ciclo de vida de la conexión de cada objeto son independientes. Durante la espera de conexión se cede implícitamente; antes de que la función devuelva el control, otros hilos pueden tener la oportunidad de ejecutarse.
Transportsolo afecta a la forma en que iOS o la app objetivo identifica el teclado. Establecerlo en"Bluetooth"o"BluetoothLowEnergy"no crea una conexión Bluetooth, ni emite anuncios ni empareja el dispositivo, ni hace que el teclado aparezca en la lista Bluetooth de otros dispositivos- Se pueden mantener pulsadas como máximo 6 teclas normales a la vez; las teclas modificadoras no cuentan. Si se supera el límite, el sistema objetivo no puede identificar las teclas concretas; suelta primero algunas teclas
- La app objetivo puede no distinguir el origen de la entrada de varios objetos de teclado de hardware
- Esta función solo crea un objeto independiente y no cambia las interfaces existentes
key.*; para que las interfaces existentes utilicen el teclado de hardware, llama akey.connect_global_keyboard - Si el envío falla, no reintenta automáticamente con otro método de entrada
Ejemplo
local keyboard, err = key.connect_keyboard({
Product = "XXTouch Keyboard",
})
assert(keyboard, err)
assert(keyboard:press("a"))
assert(keyboard:down("LEFTSHIFT"))
assert(keyboard:press("b"))
assert(keyboard:up("LEFTSHIFT"))
assert(keyboard:send_text("Hello"))
keyboard:disconnect()