Aller au contenu principal

! Créer un objet clavier matériel indépendant (key.connect_keyboard)

Cette fonction est disponible uniquement dans les versions postérieures à 20260805

Déclaration

Objet clavier matériel, message d’erreur = key.connect_keyboard([propriétés de configuration])

Paramètres

  • Propriétés de configuration Type table, paramètre facultatif permettant de définir les propriétés courantes suivantes du périphérique ; les valeurs du bloc de code sont les valeurs par défaut lorsqu’elles sont omises :
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}

Vous pouvez également définir VersionNumber, SerialNumber et LocationID. L’application des autres propriétés n’est pas garantie.

Valeur de retour

  • Objet clavier matériel Objet clavier matériel renvoyé lorsque la création réussit ; nil est renvoyé lorsque la création échoue.
  • Message d’erreur Type texte, message d’erreur renvoyé lorsque la création échoue.

Lorsque la création échoue, les deux valeurs de retour sont nil, error.

Description

Crée un objet clavier matériel indépendant ; l’état des touches et le cycle de connexion de chaque objet sont indépendants. Pendant l’attente de la connexion, l’exécution est implicitement cédée ; d’autres threads peuvent s’exécuter avant le retour de la fonction.

  • Transport détermine uniquement la manière dont iOS ou l’application cible identifie ce clavier. Définir "Bluetooth" ou "BluetoothLowEnergy" n’établit pas de connexion Bluetooth, n’effectue aucune diffusion ni association, et ne fait pas apparaître le clavier dans la liste Bluetooth d’autres appareils.
  • Au maximum 6 touches ordinaires peuvent rester enfoncées simultanément ; les touches modificatrices ne sont pas comptées. Au-delà de cette limite, le système cible ne peut pas identifier précisément les touches ; relâchez-en d’abord certaines.
  • L’application cible peut ne pas pouvoir distinguer la source des entrées provenant de plusieurs objets clavier matériel.
  • Cette fonction crée uniquement un objet indépendant et ne modifie pas les interfaces existantes key.* ; pour faire utiliser le clavier matériel aux interfaces existantes, appelez key.connect_global_keyboard.
  • En cas d’échec de l’envoi, aucune nouvelle tentative automatique avec une autre méthode de saisie n’est effectuée.

Exemple

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()