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

! Nhấn một phím trên bàn phím phần cứng (:press)

Phương thức này có sẵn trong các phiên bản sau 20260805

Khai báo

success, err = keyboard:press(key[, press_delay_ms])
success, err = keyboard:press(usage_page, usage_id[, press_delay_ms])

Tham số

  • key Chuỗi. Sử dụng cùng bảng ánh xạ tên phím như key.press.
  • usage_page Số nguyên. Các đối tượng bàn phím phần cứng hiện tại chỉ chấp nhận Trang Sử dụng của Bàn Phím/Phím Bấm 0x07.
  • usage_id Số nguyên. Biểu tượng phím vật lý, không phải mã hóa ký tự.
  • press_delay_ms Số. Tùy chọn. Thời gian giữ phím, tính bằng mili giây. Mặc định: 10 mili giây.

Giá trị trả về

  • success Boolean. Trả về true khi phím được nhấn và thả thành công và false khi thất bại.
  • err Chuỗi. Thông báo lỗi được trả về khi thao tác thất bại.

Mô tả

Nhấn phím mục tiêu, chờ khoảng thời gian được chỉ định, sau đó thả nó. Trong thời gian chờ, 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 phương thức trả về.

  • Phương thức này giữ nguyên các phím thường và phím bổ trợ đã được giữ trước khi gọi.
  • Nếu bàn phím phần cứng đã đang chạy một chuỗi :press hoặc :send_text, thao tác mới sẽ trả về false, "hardware keyboard is busy".
  • Đầu vào thất bại không được thử lại thông qua phương thức đầu vào khác.

Ví dụ

local keyboard = assert(key.connect_keyboard())

assert(keyboard:press("a"))
assert(keyboard:press(0x07, 4, 30)) -- Phím A trên bàn phím, giữ trong 30 mili giây

assert(keyboard:disconnect())