Chuyển tới nội dung chính

! Tạo một bàn phím phần cứng độc lập (key.connect_keyboard)

Hàm này có sẵn trong các phiên bản sau 20260805

Khai báo

keyboard, err = key.connect_keyboard([properties])

Tham số

  • properties Bảng. Tùy chọn. Thiết lập các thuộc tính thiết bị thường dùng; các giá trị được hiển thị sẽ được sử dụng mặc định khi bị bỏ qua:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}

Bạn cũng có thể thiết lập VersionNumber, SerialNumber, và LocationID. Các thuộc tính khác không được đảm bảo sẽ hoạt động.

Giá trị trả về

  • keyboard Đối tượng bàn phím phần cứng. Trả về nil nếu quá trình tạo thất bại.
  • err Chuỗi. Thông báo lỗi được trả về khi quá trình tạo thất bại.

Trong trường hợp thất bại, hai giá trị trả về sẽ là nil, error.

Mô tả

Tạo một đối tượng bàn phím phần cứng độc lập. Mỗi đối tượng có trạng thái phím riêng và chu kỳ kết nối của mình. Trong khi chờ kết nối, luồng hiện tại sẽ ngầm nhường quyền thực thi; các luồng khác có thể chạy trước khi hàm trả về.

  • Transport chỉ ảnh hưởng đến cách iOS hoặc ứng dụng mục tiêu nhận diện bàn phím. Thiết lập nó thành "Bluetooth" hoặc "BluetoothLowEnergy" không tạo kết nối Bluetooth, quảng bá hoặc ghép nối thiết bị, cũng không làm cho nó xuất hiện trong danh sách Bluetooth của thiết bị khác
  • Có thể giữ tối đa sáu phím thường cùng lúc; các phím bổ trợ không được tính vào giới hạn này. Hãy thả bớt phím trước khi nhấn thêm
  • Ứng dụng mục tiêu có thể không thể phân biệt được bàn phím phần cứng nào đã tạo ra đầu vào
  • Hàm này chỉ tạo một đối tượng độc lập và không thay đổi các API hiện có key.*. Sử dụng key.connect_global_keyboard cho hành vi đó
  • Đầu vào thất bại sẽ không được thử lại thông qua phương thức đầu vào khác

Ví dụ

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