Zum Hauptinhalt springen

! Hardware-Mausobjekt erstellen und verbinden (mouse.connect)

Diese Funktion ist erst in Versionen nach 20260805 verfügbar.

Deklaration

Mausobjekt, Fehlermeldung = mouse.connect([ Eigenschaften ])

Parameter

  • Eigenschaften Tabellenwert, optional; legt die Eigenschaften der Hardware-Maus fest

Rückgabewert

  • Mausobjekt Hardware-Mausobjekt; wird bei erfolgreicher Erstellung zurückgegeben, bei einem Fehler wird nil zurückgegeben
  • Fehlermeldung Textwert; Grund für die fehlgeschlagene Erstellung

Beschreibung

Jeder Aufruf erstellt ein unabhängiges Mausobjekt. Tastenstatus und Verbindungslebensdauer der einzelnen Objekte sind voneinander unabhängig. Eine erfolgreiche Rückgabe bedeutet, dass dieses Objekt aufgerufen werden kann; ob die Ziel-App reagiert, hängt weiterhin von iOS und der App ab. Beim Warten auf die Verbindung gibt diese Funktion den aktuellen Lua-Ausführungsthread frei.

Eigenschaften kann weggelassen werden. Die folgenden häufig konfigurierbaren Eigenschaften haben die angegebenen Standardwerte:

{
VendorID = 0x5858,
ProductID = 0x0006,
VersionNumber = 1,
Product = "XXTouch Mouse",
Manufacturer = "XXTouch",
Transport = "USB",
}

Zusätzlich können SerialNumber und LocationID festgelegt werden; bei anderen Eigenschaften wird die Wirksamkeit nicht garantiert. Transport beeinflusst nur, wie iOS oder die Ziel-App die Maus erkennt. Die Einstellung auf "BluetoothLowEnergy" stellt keine Bluetooth-Verbindung her, sendet keine Übertragung und führt kein Pairing durch; die Maus erscheint dadurch auch nicht in der Bluetooth-Liste anderer Geräte. Wenn das Senden einer beliebigen Mausoperation fehlschlägt, gibt dieses Objekt automatisch alle Tasten frei und trennt die Verbindung. Es wird nicht erneut über Touch-Eingaben versucht.

Beispiel

local m, err = mouse.connect({
Product = "XXTouch Mouse",
})
assert(m, err)

assert(m:move(100, 0))
assert(m:down("left"))
assert(m:move(100, 50))
assert(m:up("left"))
assert(m:click("right", 60))
assert(m:click(13))
assert(m:scroll(0, 10))

m:disconnect()