본문으로 건너뛰기

! 하드웨어 마우스 객체 생성 및 연결 (mouse.connect)

이 함수는 20260805 이후 버전에서 사용할 수 있습니다

선언

mouse_obj, error_message = mouse.connect([ properties ])

매개변수

  • properties 테이블, 선택 사항. 하드웨어 마우스 속성을 설정합니다.

반환값

  • mouse_obj 생성에 성공하면 하드웨어 마우스 객체를 반환하고, 실패하면 nil을 반환합니다.
  • error_message 문자열. 생성에 실패한 이유입니다.

설명

호출할 때마다 독립적인 마우스 객체가 생성되며, 각 객체의 버튼 상태와 연결 수명 주기는 서로 영향을 주지 않습니다. 성공적으로 반환되면 객체를 호출할 수 있다는 뜻이며, 대상 App의 응답 여부는 여전히 iOS와 App에 따라 달라집니다. 이 함수는 연결을 기다리는 동안 현재 Lua 실행 스레드의 제어권을 양보합니다.

properties는 생략할 수 있습니다. 다음은 자주 사용하는 설정 가능 속성과 기본값입니다.

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

SerialNumberLocationID도 설정할 수 있습니다. 그 밖의 속성은 적용을 보장하지 않습니다. Transport는 iOS 또는 대상 App이 마우스를 인식하는 방식에만 영향을 줍니다. "BluetoothLowEnergy"로 설정해도 Bluetooth 연결, 광고 또는 페어링이 이루어지지 않으며 다른 기기의 Bluetooth 목록에도 마우스가 표시되지 않습니다. 마우스 조작 전송에 실패하면 해당 객체는 모든 버튼을 자동으로 놓고 연결을 해제합니다. 터치 입력으로 전환하여 다시 시도하지 않습니다.

예제

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