! 독립 하드웨어 키보드 객체 생성 (key.connect_keyboard)
이 함수는 20260805 이후 버전에서만 사용할 수 있습니다
선언
하드웨어 키보드 객체, 오류 정보 = key.connect_keyboard([구성 속성])
매개변수
- 구성 속성 다음과 같은 일반 장치 속성을 설정하는 테이블형 선택 매개변수입니다. 코드 블록의 값은 생략했을 때 적용되는 기본값입니다:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}
VersionNumber, SerialNumber, LocationID도 설정할 수 있습니다. 그 밖의 속성은 적용된다고 보장되지 않습니다.
반환값
- 하드웨어 키보드 객체
생성에 성공하면 하드웨어 키보드 객체를 반환하고, 실패하면
nil을 반환합니다. - 오류 정보 문자열이며 생성에 실패하면 오류 정보를 반환합니다.
생성에 실패할 때 두 반환값을 합치면 nil, error입니다.
설명
독립 하드웨어 키보드 객체를 생성합니다. 각 객체의 키 상태와 연결 수명 주기는 서로 독립적입니다. 연결을 기다리는 동안 암묵적으로 실행권을 양보하므로 함수가 반환되기 전에 다른 스레드가 실행 기회를 얻을 수 있습니다.
Transport는 iOS 또는 대상 앱이 키보드를 인식하는 방식에만 영향을 줍니다."Bluetooth"또는"BluetoothLowEnergy"로 설정해도 Bluetooth 연결, 브로드캐스트 또는 페어링을 수행하지 않으며 다른 기기의 Bluetooth 목록에 키보드가 나타나지도 않습니다- 동시에 최대 6개의 일반 키를 누른 상태로 유지할 수 있으며 보조 키(modifier)는 이 수에 포함되지 않습니다. 제한을 넘으면 대상 시스템에서 어떤 키인지 식별할 수 없으므로 먼저 일부 키를 놓아야 합니다
- 대상 앱은 여러 하드웨어 키보드 객체의 입력 출처를 구분하지 못할 수 있습니다
- 이 함수는 독립 객체만 생성하며 기존
key.*인터페이스를 변경하지 않습니다. 기존 인터페이스에서 하드웨어 키보드를 사용하려면key.connect_global_keyboard를 호출하세요 - 전송에 실패해도 다른 입력 방식으로 자동 재시도하지 않습니다
예제
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()